<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GSF.Core</name>
    </assembly>
    <members>
        <member name="T:GSF.Adapters.AdapterFileFormat">
            <summary>
            Specifies the file format of the adapters to be loaded by the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterFileFormat.Assembly">
            <summary>
            Adapters are <see cref="T:System.Type"/>s inside <see cref="F:GSF.Adapters.AdapterFileFormat.Assembly"/> files (DLLs).
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterFileFormat.SerializedBin">
            <summary>
            Adapters are binary serialized instances persisted to files.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterFileFormat.SerializedXml">
            <summary>
            Adapters are XML serialized instances persisted to files.
            </summary>
        </member>
        <member name="T:GSF.Adapters.AdapterLoader`1">
            <summary>
            Represents a generic loader of adapters.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of adapters to be loaded.</typeparam>
            <example>
            This example show how to use the <see cref="T:GSF.Adapters.AdapterLoader`1"/> to isolate adapters in separate <see cref="T:System.AppDomain"/>s and monitor their resource usage:
            <code>
            using System;
            using System.Collections.Generic;
            using System.Text;
            using System.Threading;
            using GSF;
            using GSF.Adapters;
            using GSF.Security.Cryptography;
            
            class Program
            {
                static AdapterLoader&lt;PublishAdapterBase&gt; s_adapterLoader;
            
                static void Main(string[] args)
                {
                    // Enable app domain resource monitoring.
                    AppDomain.MonitoringIsEnabled = true;
            
                    // Load adapters that mimic data publishing.
                    s_adapterLoader = new AdapterLoader&lt;PublishAdapterBase&gt;();
                    s_adapterLoader.IsolateAdapters = true;
                    s_adapterLoader.MonitorAdapters = true;
                    s_adapterLoader.AdapterFileExtension = "*.exe";
                    s_adapterLoader.AllowableProcessMemoryUsage = 200;
                    s_adapterLoader.AllowableProcessProcessorUsage = 50;
                    s_adapterLoader.AllowableAdapterMemoryUsage = 100;
                    s_adapterLoader.AllowableAdapterProcessorUsage = 25;
                    s_adapterLoader.AdapterLoaded += OnAdapterLoaded;
                    s_adapterLoader.AdapterUnloaded += OnAdapterUnloaded;
                    s_adapterLoader.AdapterResourceUsageExceeded += OnAdapterResourceUsageExceeded;
                    s_adapterLoader.Initialize();
            
                    // Shutdown.
                    Console.ReadLine();
                    s_adapterLoader.Dispose();
                }
            
                static void OnAdapterLoaded(object sender, EventArgs&lt;PublishAdapterBase&gt; e)
                {
                    Console.WriteLine("{0} has been loaded\r\n", e.Argument.GetType().Name);
                }
            
                static void OnAdapterUnloaded(object sender, EventArgs&lt;PublishAdapterBase&gt; e)
                {
                    Console.WriteLine("{0} has been unloaded\r\n", e.Argument.GetType().Name);
                }
            
                static void OnAdapterResourceUsageExceeded(object sender, GSF.EventArgs&lt;PublishAdapterBase&gt; e)
                {
                    Console.WriteLine("{0} status:", e.Argument.Name);
                    Console.WriteLine(e.Argument.Status);
            
                    // Remove the adapter in order to reclaim the resources used by it.
                    lock (s_adapterLoader.Adapters)
                    {
                        s_adapterLoader.Adapters.Remove(e.Argument);
                    }
                }
            }
            
            /// &lt;summary&gt;
            /// Base adapter class.
            /// &lt;/summary&gt;
            public abstract class PublishAdapterBase : Adapter
            {
                public PublishAdapterBase()
                {
                    Data = new List&lt;byte[]&gt;();
                }
            
                public List&lt;byte[]&gt; Data { get; set; }
            
                public override void Initialize()
                {
                    base.Initialize();
                    new Thread(Publish).Start();
                }
            
                protected abstract void Publish();
            }
            
            /// &lt;summary&gt;
            /// Adapter that does not manage memory well.
            /// &lt;/summary&gt;
            public class PublishAdapterA : PublishAdapterBase
            {
                protected override void Publish()
                {
                    while (true)
                    {
                        for (int i = 0; i &lt; 10000; i++)
                        {
                            Data.Add(new byte[10]);
                        }
                        Thread.Sleep(100);
                    }
                }
            }
            
            /// &lt;summary&gt;
            /// Adapter that uses the processor in excess.
            /// &lt;/summary&gt;
            public class PublishAdapterB : PublishAdapterBase
            {
                protected override void Publish()
                {
                    string text = string.Empty;
                    System.Random random = new System.Random();
                    while (true)
                    {
                        for (int i = 0; i &lt; 10; i++)
                        {
                            for (int j = 0; j &lt; 4; j++)
                            {
                                text += (char)random.Next(256);
                            }
                            Data.Add(Encoding.ASCII.GetBytes(text.Encrypt("C1pH3r", CipherStrength.Aes256)).BlockCopy(0, 1));
                        }
                        Thread.Sleep(10);
                    }
                }
            }
            </code>
            </example>
            <seealso cref="T:GSF.Adapters.Adapter"/>
            <seealso cref="T:GSF.Adapters.IAdapter"/>
        </member>
        <member name="T:GSF.ISupportLifecycle">
            <summary>
            Specifies that this object provides support for performing tasks during the key stages of object lifecycle. This interface
            also allows objects to declare themselves as reusable such that their lifecycle can be automatically managed when pooled via
            the <see cref="T:GSF.ReusableObjectPool`1"/>.
            </summary>
            <remarks>
            <list type="table">
                <listheader>
                    <term>Lifecycle Stage</term>
                    <description>Equivalent Member</description>
                </listheader>
                <item>
                    <term>Birth</term>
                    <description><see cref="M:GSF.ISupportLifecycle.Initialize"/></description>
                </item>
                <item>
                    <term>Life (Work/Sleep)</term>
                    <description><see cref="P:GSF.ISupportLifecycle.Enabled"/></description>
                </item>
                <item>
                    <term>Death</term>
                    <description><see cref="M:System.IDisposable.Dispose"/></description>
                </item>
            </list>
            </remarks>
        </member>
        <member name="M:GSF.ISupportLifecycle.Initialize">
            <summary>
            Initializes the state of the object.
            </summary>
            <remarks>
            <para>
            Typical implementation of <see cref="M:GSF.ISupportLifecycle.Initialize"/> should allow the object state to be initialized only 
            once. <see cref="M:GSF.ISupportLifecycle.Initialize"/> should be called automatically from one or more key entry points of the 
            object. For example, if the object is a <see cref="T:System.ComponentModel.Component"/> and it implements 
            the <see cref="T:System.ComponentModel.ISupportInitialize"/> interface then <see cref="M:GSF.ISupportLifecycle.Initialize"/> should 
            be called from the <see cref="M:System.ComponentModel.ISupportInitialize.EndInit"/> method so that the object 
            gets initialized automatically when consumed through the IDE designer surface. In addition to this 
            <see cref="M:GSF.ISupportLifecycle.Initialize"/> should also be called from key or mandatory methods of the object, like 'Start()'
            or 'Connect()', so that the object gets initialized even when not consumed through the IDE designer surface.
            </para>
            <para>
            Proper implementation of this method will allow objects to be automatically reinitialized when taken from
            the <see cref="T:GSF.ReusableObjectPool`1"/>.
            </para>
            </remarks>
        </member>
        <member name="E:GSF.ISupportLifecycle.Disposed">
            <summary>
            Raised after the source object has been properly disposed.
            </summary>
            <remarks>
            Proper implementation of this event will allow objects to be automatically returned to the
            <see cref="T:GSF.ReusableObjectPool`1"/>,in this mode sender event parameter should always be <c>this</c>.
            </remarks>
        </member>
        <member name="P:GSF.ISupportLifecycle.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the object is enabled.
            </summary>
            <remarks>
            Typical implementation of <see cref="P:GSF.ISupportLifecycle.Enabled"/> should suspend the internal processing when the object is 
            disabled and resume processing when the object is enabled.
            </remarks>
        </member>
        <member name="T:GSF.IProvideStatus">
            <summary>
            Defines an interface for any object to allow it to provide a name and status
            that can be displayed for informational purposes.
            </summary>
        </member>
        <member name="P:GSF.IProvideStatus.Name">
            <summary>
            Gets the name of the object providing status information.
            </summary>
        </member>
        <member name="P:GSF.IProvideStatus.Status">
            <summary>
            Gets the current status details about object providing status information.
            </summary>
        </member>
        <member name="T:GSF.Configuration.IPersistSettings">
            <summary>
            Defines as interface that specifies that this object can persists settings to a config file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.IPersistSettings.SaveSettings">
            <summary>
            Saves settings to the config file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.IPersistSettings.LoadSettings">
            <summary>
            Loads saved settings from the config file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.IPersistSettings.PersistSettings">
            <summary>
            Determines whether the object settings are to be persisted to the config file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.IPersistSettings.SettingsCategory">
            <summary>
            Gets or sets the category name under which the object settings are persisted in the config file.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAdapterDirectory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterDirectory"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAdapterFileExtension">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterFileExtension"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAdapterFileFormat">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterFileFormat"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultWatchForAdapters">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.WatchForAdapters"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultIsolateAdapters">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.IsolateAdapters"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultMonitorAdapters">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.MonitorAdapters"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAllowableProcessMemoryUsage">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableProcessMemoryUsage"/> property
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAllowableProcessProcessorUsage">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableProcessProcessorUsage"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAllowableAdapterMemoryUsage">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterMemoryUsage"/> property.
            </summary>
        </member>
        <member name="F:GSF.Adapters.AdapterLoader`1.DefaultAllowableAdapterProcessorUsage">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterProcessorUsage"/> property.
            </summary>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Adapters.AdapterLoader`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Adapters.AdapterLoader`1"/> is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.Initialize(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Initializes the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
            <param name="adapterTypes">Collection of adapter <see cref="T:System.Type"/>s from which <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are to be created.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.SaveSettings">
            <summary>
            Saves <see cref="T:GSF.Adapters.AdapterLoader`1"/> settings to the config file if the <see cref="P:GSF.Adapters.AdapterLoader`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Adapters.AdapterLoader`1.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.LoadSettings">
            <summary>
            Loads saved <see cref="T:GSF.Adapters.AdapterLoader`1"/> settings from the config file if the <see cref="P:GSF.Adapters.AdapterLoader`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Adapters.AdapterLoader`1.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.ProcessAdapter(System.String)">
            <summary>
            Processes the <paramref name="adapterFile"/> by deserializing it.
            </summary>
            <param name="adapterFile">Path to the adapter file to be deserialized.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.ProcessAdapter(System.Type)">
            <summary>
            Processes the <paramref name="adapterType"/> by instantiating it.
            </summary>
            <param name="adapterType"><see cref="T:System.Type"/> of the adapter to be instantiated.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.MonitorAdapterResources">
            <summary>
            Monitors the resource utilization of <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
            <remarks>
            <see cref="T:System.AppDomain"/> monitoring is not enabled under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.GetMemoryUsage(System.Diagnostics.Process)">
            <summary>
            Gets the memory usage in bytes of the specified <paramref name="process"/>.
            </summary>
            <param name="process">The <see cref="T:System.Diagnostics.Process"/> whose memory usage is to be determined.</param>
            <returns>Memory usage in bytes of the specified <paramref name="process"/>.</returns>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.GetProcessorUsage(System.Diagnostics.Process)">
            <summary>
            Gets the % processor usage of the specified <paramref name="process"/>.
            </summary>
            <param name="process">The <see cref="T:System.Diagnostics.Process"/> whose processor usage is to be determined.</param>
            <returns>Processor usage in % of the specified <paramref name="process"/>.</returns>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.ExecuteAdapterOperation(`0,System.Object)">
            <summary>
            Executes an operation on the <paramref name="adapter"/> with the given <paramref name="data"/>.
            </summary>
            <param name="adapter">Adapter on which an operation is to be executed.</param>
            <param name="data">Data to be used when executing an operation.</param>
            <exception cref="T:System.NotSupportedException">Always</exception>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Adapters.AdapterLoader`1"/> and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnAdapterCreated(`0)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterCreated"/> event.
            </summary>
            <param name="adapter">Adapter instance to send to <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterCreated"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnAdapterLoaded(`0)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterLoaded"/> event.
            </summary>
            <param name="adapter">Adapter instance to send to <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterLoaded"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnAdapterUnloaded(`0)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterUnloaded"/> event.
            </summary>
            <param name="adapter">Adapter instance to send to <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterUnloaded"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnAdapterResourceUsageExceeded(`0)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterResourceUsageExceeded"/> event.
            </summary>
            <param name="adapter">Adapter instance to send to <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterResourceUsageExceeded"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnAdapterLoadException(`0,System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterLoadException"/> event.
            </summary>
            <param name="adapter">Adapter instance that caused the <paramref name="exception"/>.</param>
            <param name="exception"><see cref="T:System.Exception"/> to send to <see cref="E:GSF.Adapters.AdapterLoader`1.AdapterLoadException"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.AdapterLoader`1.OnOperationExecutionException(`0,System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.AdapterLoader`1.OperationExecutionException"/> event.
            </summary>
            <param name="adapter">Adapter instance to send to <see cref="E:GSF.Adapters.AdapterLoader`1.OperationExecutionException"/> event.</param>
            <param name="exception"><see cref="T:System.Exception"/> to send to <see cref="E:GSF.Adapters.AdapterLoader`1.OperationExecutionException"/> event.</param>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.AdapterCreated">
            <summary>
            Occurs when a new adapter is found and instantiated.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the adapter that was created.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.AdapterLoaded">
            <summary>
            Occurs when a new adapter is loaded to the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> list.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the adapter that was loaded.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.AdapterUnloaded">
            <summary>
            Occurs when an existing adapter is unloaded from the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> list.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the adapter that was unloaded.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.AdapterResourceUsageExceeded">
            <summary>
            Occurs when an adapter has exceeded either the <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterMemoryUsage"/> or <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterProcessorUsage"/>.
            </summary>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the adapter that exceeded the allowable system resource utilization.
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.AdapterLoadException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered when loading an adapter.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:System.Exception"/> encountered when loading the adapter.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.OperationExecutionException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered while executing a queued operation on one the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the adapter on which the operation was being executed.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the <see cref="T:System.Exception"/> encountered when executing an operation on the adapter.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.AdapterLoader`1.Disposed">
            <summary>
            Occurs when the class has been disposed.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AdapterDirectory">
            <summary>
            Gets or sets the directory where <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are located.
            </summary>
            <remarks>
            When an empty string is assigned to <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterDirectory"/>, <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are loaded from the directory where application is executing.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The value being assigned is a null string.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AdapterFileExtension">
            <summary>
            Gets or sets the file extension of the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being set is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AdapterFileFormat">
            <summary>
            Gets or sets the file format of the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.WatchForAdapters">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterDirectory"/> is to be monitored for new <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.IsolateAdapters">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are loaded in separate <see cref="T:System.AppDomain"/> for isolated execution.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.MonitorAdapters">
            <summary>
            Gets or sets a boolean value that indicates whether resource utilization of <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> executing in <see cref="P:GSF.Adapters.AdapterLoader`1.IsolateAdapters">isolation</see> is to be monitored.
            </summary>
            <remarks>
            <para>
            Use <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableProcessMemoryUsage"/>, <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableProcessProcessorUsage"/>, <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterMemoryUsage"/> and 
            <see cref="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterProcessorUsage"/> properties to configure how adapter resource utilization is to be monitored.
            </para>
            <para>
            This option is ignored under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AllowableProcessMemoryUsage">
            <summary>
            Gets or sets the memory in megabytes the current process is allowed to use before the internal monitoring process starts looking for offending <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is zero or negative.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AllowableProcessProcessorUsage">
            <summary>
            Gets or sets the processor time in % the current process is allowed to use before the internal monitoring process starts looking for offending <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is zero or negative.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterMemoryUsage">
            <summary>
            Gets or sets the memory in megabytes the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are allowed to use before being flagged as offending by the internal monitoring process.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is zero or negative.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AllowableAdapterProcessorUsage">
            <summary>
            Gets or sets the processor time in % the <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/> are allowed to use before being flagged as offending by the internal monitoring process.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is zero or negative.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:GSF.Adapters.AdapterLoader`1"/> settings are to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.SettingsCategory">
            <summary>
            Gets or sets the category under which <see cref="T:GSF.Adapters.AdapterLoader`1"/> settings are to be saved to the config file if the <see cref="P:GSF.Adapters.AdapterLoader`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.Adapters.AdapterLoader`1"/> is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.Adapters.AdapterLoader`1"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.Adapters">
            <summary>
            Gets a list of adapters loaded from the <see cref="P:GSF.Adapters.AdapterLoader`1.AdapterDirectory"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.AdapterWatcher">
            <summary>
            Gets the <see cref="T:System.IO.FileSystemWatcher"/> object watching for new adapter assemblies added at runtime.
            </summary>
        </member>
        <member name="P:GSF.Adapters.AdapterLoader`1.OperationQueue">
            <summary>
            Gets the <see cref="T:GSF.Collections.ProcessQueue`1"/> object to be used for queuing operations to be executed on <see cref="P:GSF.Adapters.AdapterLoader`1.Adapters"/>.
            </summary>
        </member>
        <member name="T:GSF.Adapters.Adapter">
            <summary>
            Represents an adapter that could execute in isolation in a separate <see cref="T:System.AppDomain"/>.
            </summary>
            <seealso cref="T:GSF.Adapters.IAdapter"/>
            <seealso cref="T:GSF.Adapters.AdapterLoader`1"/>
        </member>
        <member name="T:GSF.Adapters.IAdapter">
            <summary>
            Defines an adapter that could execute in isolation in a separate <see cref="T:System.AppDomain"/>.
            </summary>
        </member>
        <member name="E:GSF.Adapters.IAdapter.StatusUpdate">
            <summary>
            Occurs when the <see cref="T:GSF.Adapters.IAdapter"/> wants to provide a status update.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the <see cref="T:GSF.UpdateType"/>.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the update message.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.IAdapter.ExecutionException">
            <summary>
            Occurs when the <see cref="T:GSF.Adapters.IAdapter"/> encounters an <see cref="T:System.Exception"/> during execution.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the text that describes the activity that was being performed by the <see cref="T:GSF.Adapters.IAdapter"/>.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the encountered <see cref="T:System.Exception"/>.
            </remarks>
        </member>
        <member name="P:GSF.Adapters.IAdapter.TypeName">
            <summary>
            Gets or sets the text representation of the <see cref="T:GSF.Adapters.IAdapter"/>'s <see cref="P:GSF.Adapters.IAdapter.TypeName"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.IAdapter.HostFile">
            <summary>
            Gets or sets the path to the file where the <see cref="T:GSF.Adapters.IAdapter"/> is housed.
            </summary>
        </member>
        <member name="P:GSF.Adapters.IAdapter.Domain">
            <summary>
            Gets the <see cref="T:System.AppDomain"/> in which the <see cref="T:GSF.Adapters.IAdapter"/> is executing.
            </summary>
        </member>
        <member name="P:GSF.Adapters.IAdapter.MemoryUsage">
            <summary>
            Gets the memory utilization of the <see cref="T:GSF.Adapters.IAdapter"/> in bytes if executing in a separate <see cref="T:System.AppDomain"/>, otherwise <see cref="F:System.Double.NaN"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.IAdapter.ProcessorUsage">
            <summary>
            Gets the % processor utilization of the <see cref="T:GSF.Adapters.IAdapter"/> if executing in a separate <see cref="T:System.AppDomain"/> otherwise <see cref="F:System.Double.NaN"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.Adapter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Adapters.Adapter"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.Adapter.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Adapters.Adapter"/> is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.Adapter.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Adapters.Adapter"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.Adapter.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.Adapters.Adapter"/>.
            </summary>
        </member>
        <member name="M:GSF.Adapters.Adapter.SaveSettings">
            <summary>
            Saves <see cref="T:GSF.Adapters.Adapter"/> settings to the config file if the <see cref="P:GSF.Adapters.Adapter.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Adapters.Adapter.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Adapters.Adapter.LoadSettings">
            <summary>
            Loads saved <see cref="T:GSF.Adapters.Adapter"/> settings from the config file if the <see cref="P:GSF.Adapters.Adapter.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Adapters.Adapter.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Adapters.Adapter.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Adapters.Adapter"/> and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Adapters.Adapter.OnStatusUpdate(GSF.UpdateType,System.String,System.Object[])">
            <summary>
            Raises the <see cref="E:GSF.Adapters.Adapter.StatusUpdate"/> event.
            </summary>
            <param name="updateType"><see cref="T:GSF.UpdateType"/> to send to <see cref="E:GSF.Adapters.Adapter.StatusUpdate"/> event.</param>
            <param name="updateMessage">Update message to send to <see cref="E:GSF.Adapters.Adapter.StatusUpdate"/> event.</param>
            <param name="args">Arguments to be used when formatting the <paramref name="updateMessage"/>.</param>
        </member>
        <member name="M:GSF.Adapters.Adapter.OnExecutionException(System.String,System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.Adapters.Adapter.ExecutionException"/> event.
            </summary>
            <param name="activityDescription">Activity description to send to <see cref="E:GSF.Adapters.Adapter.ExecutionException"/> event.</param>
            <param name="encounteredException">Encountered <see cref="T:System.Exception"/> to send to <see cref="E:GSF.Adapters.Adapter.ExecutionException"/> event.</param>
        </member>
        <member name="M:GSF.Adapters.Adapter.OnDisposed">
            <summary>
            Raises the <see cref="E:GSF.Adapters.Adapter.Disposed"/> event.
            </summary>
        </member>
        <member name="E:GSF.Adapters.Adapter.StatusUpdate">
            <summary>
            Occurs when the <see cref="T:GSF.Adapters.Adapter"/> wants to provide a status update.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the <see cref="T:GSF.UpdateType"/>.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the update message.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.Adapter.ExecutionException">
            <summary>
            Occurs when the <see cref="T:GSF.Adapters.IAdapter"/> encounters an <see cref="T:System.Exception"/> during execution.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the text that describes the activity that was being performed by the <see cref="T:GSF.Adapters.IAdapter"/>.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the encountered <see cref="T:System.Exception"/>.
            </remarks>
        </member>
        <member name="E:GSF.Adapters.Adapter.Disposed">
            <summary>
            Occurs when <see cref="T:GSF.Adapters.Adapter"/> is disposed.
            </summary>
        </member>
        <member name="P:GSF.Adapters.Adapter.TypeName">
            <summary>
            Gets or sets the text representation of the <see cref="T:GSF.Adapters.Adapter"/>'s <see cref="P:GSF.Adapters.Adapter.TypeName"/>.
            </summary>
            <remarks>
            This can be used for looking up the <see cref="P:GSF.Adapters.Adapter.TypeName"/> of the <see cref="T:GSF.Adapters.Adapter"/> when deserializing it using <see cref="T:System.Xml.Serialization.XmlSerializer"/>.
            </remarks>
        </member>
        <member name="P:GSF.Adapters.Adapter.HostFile">
            <summary>
            Gets or sets the path to the file where the <see cref="T:GSF.Adapters.Adapter"/> is housed.
            </summary>
            <remarks>
            This can be used to update the <see cref="T:GSF.Adapters.Adapter"/> when changes are made to the file where it is housed.
            </remarks>
        </member>
        <member name="P:GSF.Adapters.Adapter.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.Adapters.Adapter"/> is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.Adapters.Adapter.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:GSF.Adapters.Adapter"/> settings are to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.Adapters.Adapter.SettingsCategory">
            <summary>
            Gets or sets the category under which <see cref="T:GSF.Adapters.Adapter"/> settings are to be saved to the config file if the <see cref="P:GSF.Adapters.Adapter.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Adapters.Adapter.MemoryUsage">
            <summary>
            Gets the memory utilization of the <see cref="T:GSF.Adapters.Adapter"/> in bytes if executing in a separate <see cref="T:System.AppDomain"/>, otherwise <see cref="F:System.Double.NaN"/>.
            </summary>
            <remarks>
            <para>
            <see cref="P:GSF.Adapters.Adapter.MemoryUsage"/> gets updated only after a full blocking collection by <see cref="T:System.GC"/> (e.g. <see cref="M:System.GC.Collect"/>).
            </para>
            <para>
            This method always returns <c><see cref="F:System.Double.NaN"/></c> under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Adapters.Adapter.ProcessorUsage">
            <summary>
            Gets the % processor utilization of the <see cref="T:GSF.Adapters.Adapter"/> if executing in a separate <see cref="T:System.AppDomain"/> otherwise <see cref="F:System.Double.NaN"/>.
            </summary>
            <remarks>
            This method always returns <c><see cref="F:System.Double.NaN"/></c> under Mono deployments.
            </remarks>
        </member>
        <member name="P:GSF.Adapters.Adapter.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.Adapters.Adapter"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.Adapter.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.Adapters.Adapter"/>.
            </summary>
        </member>
        <member name="P:GSF.Adapters.Adapter.Domain">
            <summary>
            Gets the <see cref="T:System.AppDomain"/> in which the <see cref="T:GSF.Adapters.Adapter"/> is executing.
            </summary>
        </member>
        <member name="T:GSF.Adapters.NamespaceDoc">
            <summary>
            Contains classes that facilitate the development of adapter-driven architecture.
            </summary>
        </member>
        <member name="T:GSF.BigBinaryValue">
            <summary>
            Represents a big-endian ordered binary data sample stored as a byte array, 
            but implicitly castable to most common native types.
            </summary>
        </member>
        <member name="T:GSF.BinaryValueBase`1">
            <summary>
            Represents the base class for a binary data sample stored as a byte array, but implicitly castable to most common native types.
            </summary>
            <typeparam name="TEndianOrder">Type of <see cref="T:GSF.EndianOrder"/> class used to transpose byte order of derived implementation of <see cref="T:GSF.BinaryValueBase`1"/>.</typeparam>
        </member>
        <member name="M:GSF.BinaryValueBase`1.#ctor(System.TypeCode,System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new binary value from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToByte">
            <summary>
            Returns a byte from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A byte from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToInt16">
            <summary>
            Returns a 16-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 16-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToUInt16">
            <summary>
            Returns a 16-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 16-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToInt24">
            <summary>
            Returns a 24-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 24-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToUInt24">
            <summary>
            Returns a 24-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 24-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToInt32">
            <summary>
            Returns a 32-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 32-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToUInt32">
            <summary>
            Returns a 32-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 32-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToInt64">
            <summary>
            Returns a 64-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 64-bit signed integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToUInt64">
            <summary>
            Returns a 64-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A 64-bit unsigned integer, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToSingle">
            <summary>
            Returns a single-precision floating point number, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A single-precision floating point number, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="M:GSF.BinaryValueBase`1.ToDouble">
            <summary>
            Returns a double-precision floating point number, accounting for <see cref="T:GSF.EndianOrder"/>, converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.
            </summary>
            <returns>A double-precision floating point number, accounting for <see cref="T:GSF.EndianOrder"/>,  converted from the <see cref="P:GSF.BinaryValueBase`1.Buffer"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Binary value buffer is too small to represent requested type.</exception>
        </member>
        <member name="F:GSF.BinaryValueBase`1.s_endianOrder">
            <summary>
            <see cref="T:GSF.EndianOrder"/> instance used to transpose byte order of derived implementation of <see cref="T:GSF.BinaryValueBase`1"/>.
            </summary>
        </member>
        <member name="P:GSF.BinaryValueBase`1.TypeCode">
            <summary>
            Gets or sets <see cref="P:GSF.BinaryValueBase`1.TypeCode"/> that this binary data sample represents.
            </summary>
        </member>
        <member name="P:GSF.BinaryValueBase`1.Buffer">
            <summary>
            Gets or sets the binary representation of this data sample.
            </summary>
        </member>
        <member name="M:GSF.BigBinaryValue.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new big-endian ordered binary value from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.BigBinaryValue.#ctor(System.Byte[])">
            <summary>Creates a new big-endian ordered binary value from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.BigBinaryValue.#ctor(System.TypeCode,System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new big-endian ordered binary value from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
        </member>
        <member name="M:GSF.BigBinaryValue.#ctor(System.TypeCode,System.Byte[])">
            <summary>Creates a new big-endian ordered binary value from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
        </member>
        <member name="M:GSF.BigBinaryValue.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.ConvertToType(System.TypeCode)">
            <summary>
            Returns a <see cref="T:GSF.BigBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.
            </summary>
            <param name="typeCode">Desired <see cref="T:System.TypeCode"/> for destination value.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Unable to convert binary value to specified type.</exception>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Byte">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Byte"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Byte"/>.</param>
            <returns>A <see cref="T:System.Byte"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Byte)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Byte"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Byte"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Byte"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Int16">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Int16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Int16"/>.</param>
            <returns>A <see cref="T:System.Int16"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Int16)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int16"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int16"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Int16"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.UInt16">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.UInt16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.UInt16"/>.</param>
            <returns>A <see cref="T:System.UInt16"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.UInt16)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt16"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt16"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.UInt16"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~GSF.Int24">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:GSF.Int24"/>.</param>
            <returns>A <see cref="T:GSF.Int24"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.Int24)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:GSF.Int24"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~GSF.UInt24">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:GSF.UInt24"/>.</param>
            <returns>A <see cref="T:GSF.UInt24"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.UInt24)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:GSF.UInt24"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Int32">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Int32"/>.</param>
            <returns>A <see cref="T:System.Int32"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Int32)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int32"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int32"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Int32"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.UInt32">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.UInt32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.UInt32"/>.</param>
            <returns>A <see cref="T:System.UInt32"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.UInt32)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt32"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt32"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.UInt32"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Int64"/>.</param>
            <returns>A <see cref="T:System.Int64"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Int64)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int64"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int64"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.UInt64">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.UInt64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.UInt64"/>.</param>
            <returns>A <see cref="T:System.UInt64"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.UInt64)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt64"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt64"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.UInt64"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Single">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Single"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Single"/>.</param>
            <returns>A <see cref="T:System.Single"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Single)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Single"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Single"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Single"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(GSF.BigBinaryValue)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.BigBinaryValue"/> to <see cref="T:System.Double"/>.
            </summary>
            <param name="value"><see cref="T:GSF.BigBinaryValue"/> to convert to <see cref="T:System.Double"/>.</param>
            <returns>A <see cref="T:System.Double"/> representation of <see cref="T:GSF.BigBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.BigBinaryValue.op_Implicit(System.Double)~GSF.BigBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Double"/> to <see cref="T:GSF.BigBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Double"/> to convert to <see cref="T:GSF.BigBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.BigBinaryValue"/> representation of <see cref="T:System.Double"/>.</returns>
        </member>
        <member name="T:GSF.BigEndian">
            <summary>
            Defines a set of big-endian byte order interoperability functions.
            </summary>
            <remarks>
            This class is setup to support aggressive in-lining of big endian conversions. Bounds
            will not be checked as part of this function call, if bounds are violated, the exception
            will be thrown at the <see cref="T:System.Array"/> level.
            </remarks>
        </member>
        <member name="M:GSF.BigEndian.ToBoolean(System.Byte[],System.Int32)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value converted from one byte at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>true if the byte at startIndex in value is nonzero; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToChar(System.Byte[],System.Int32)">
            <summary>
            Returns a Unicode character converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A character formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToDouble(System.Byte[],System.Int32)">
            <summary>
            Returns a double-precision floating point number converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A double-precision floating point number formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit signed integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit signed integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit signed integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit signed integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit signed integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit signed integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit signed integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit signed integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToSingle(System.Byte[],System.Int32)">
            <summary>
            Returns a single-precision floating point number converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A single-precision floating point number formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToUInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit unsigned integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit unsigned integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToUInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit unsigned integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit unsigned integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToUInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit unsigned integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit unsigned integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.ToUInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit unsigned integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit unsigned integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.BigEndian.GetBytes``1(``0)">
            <summary>
            Returns the specified value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Boolean)">
            <summary>
            Returns the specified <see cref="T:System.Boolean"/> value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Char)">
            <summary>
            Returns the specified Unicode character value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The Unicode character value to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Double)">
            <summary>
            Returns the specified double-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Int16)">
            <summary>
            Returns the specified 16-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(GSF.Int24)">
            <summary>
            Returns the specified 24-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Int32)">
            <summary>
            Returns the specified 32-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Int64)">
            <summary>
            Returns the specified 64-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.Single)">
            <summary>
            Returns the specified single-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.UInt16)">
            <summary>
            Returns the specified 16-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(GSF.UInt24)">
            <summary>
            Returns the specified 24-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.UInt32)">
            <summary>
            Returns the specified 32-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.BigEndian.GetBytes(System.UInt64)">
            <summary>
            Returns the specified 64-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes``1(``0,System.Byte[],System.Int32)">
            <summary>
            Copies the specified primitive type value as an array of bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
            <returns>Length of bytes copied into array based on size of <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Boolean,System.Byte[],System.Int32)">
            <summary>
            Copies the specified <see cref="T:System.Boolean"/> value as an array of 1 byte in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Char,System.Byte[],System.Int32)">
            <summary>
            Copies the specified Unicode character value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The Unicode character value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Double,System.Byte[],System.Int32)">
            <summary>
            Copies the specified double-precision floating point value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Int16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit signed integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(GSF.Int24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit signed integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Int32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit signed integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Int64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit signed integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.Single,System.Byte[],System.Int32)">
            <summary>
            Copies the specified single-precision floating point value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.UInt16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit unsigned integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(GSF.UInt24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit unsigned integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.UInt32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit unsigned integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.BigEndian.CopyBytes(System.UInt64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit unsigned integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="T:GSF.BinaryCodedDecimal">
            <summary>
            Defines functions related to binary-coded decimals.
            </summary>
            <remarks>
            See <a href="http://en.wikipedia.org/wiki/Binary-coded_decimal">Binary-coded decimal</a> for details.
            </remarks>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Decode(System.Byte)">
            <summary>
            Gets binary value from binary-coded decimal.
            </summary>
            <param name="bcd">Binary-coded decimal value.</param>
            <returns>Standard binary representation of binary-coded decimal value.</returns>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Decode(System.UInt16)">
            <summary>
            Gets binary value from two-byte binary-coded decimal.
            </summary>
            <param name="bcd">Two-byte binary-coded decimal value.</param>
            <returns>Standard binary representation of binary-coded decimal value.</returns>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Decode(System.UInt32)">
            <summary>
            Gets binary value from four-byte binary-coded decimal.
            </summary>
            <param name="bcd">Four-byte binary-coded decimal value.</param>
            <returns>Standard binary representation of binary-coded decimal value.</returns>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Decode(System.UInt64)">
            <summary>
            Gets binary value from eight-byte binary-coded decimal.
            </summary>
            <param name="bcd">Eight-byte binary-coded decimal value.</param>
            <returns>Standard binary representation of binary-coded decimal value.</returns>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Encode(System.Byte)">
            <summary>
            Gets binary-coded decimal from binary value.
            </summary>
            <param name="value">Binary value.</param>
            <returns>Binary-coded decimal representation of standard binary value.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">A binary-coded decimal has a maximum value of 99 for a single byte.</exception>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Encode(System.UInt16)">
            <summary>
            Gets binary-coded decimal from binary value.
            </summary>
            <param name="value">Binary value.</param>
            <returns>Binary-coded decimal representation of standard binary value.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">A binary-coded decimal has a maximum value of 9,999 for two bytes.</exception>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Encode(System.UInt32)">
            <summary>
            Gets binary-coded decimal from binary value.
            </summary>
            <param name="value">Binary value.</param>
            <returns>Binary-coded decimal representation of standard binary value.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">A binary-coded decimal has a maximum value of 99,999,999 for four bytes.</exception>
        </member>
        <member name="M:GSF.BinaryCodedDecimal.Encode(System.UInt64)">
            <summary>
            Gets binary-coded decimal from binary value.
            </summary>
            <param name="value">Binary value.</param>
            <returns>Binary-coded decimal representation of standard binary value.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">A binary-coded decimal has a maximum value of 9,999,999,999,999,999 for eight bytes.</exception>
        </member>
        <member name="T:GSF.IO.Outage">
            <summary>
            Represents an outage as a start time and an end time.
            </summary>
        </member>
        <member name="M:GSF.IO.Outage.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.IO.Outage"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.Outage.#ctor(GSF.Ticks,GSF.Ticks)">
            <summary>
            Creates a new <see cref="T:GSF.IO.Outage"/> with the specified start and end time.
            </summary>
            <param name="startTime">Start time for outage.</param>
            <param name="endTime">End time for outage.</param>
        </member>
        <member name="P:GSF.IO.Outage.StartTime">
            <summary>
            Gets or sets start time for <see cref="T:GSF.IO.Outage"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.Outage.EndTime">
            <summary>
            Gets or sets end time for <see cref="T:GSF.IO.Outage"/>.
            </summary>
        </member>
        <member name="T:GSF.IO.OutageLog">
            <summary>
            Represents a persisted log of outages as a list of start and stop times.
            </summary>
            <remarks>
            <para>
            This class serializes a list of outages (e.g., a connection outage or data loss) where each outage
            consists of start and end time. The outages are persisted in a log file so that the log can be
            operated on even through host application restarts until the outages are processed.
            </para>
            <para>
            No members in the <see cref="T:GSF.IO.OutageLog"/> are guaranteed to be thread safe. Make sure any calls are
            synchronized when simultaneously accessed from different threads.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.IO.OutageLog.DateTimeFormat">
            <summary>
            Date-time format used by <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.IO.OutageLog"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.IO.OutageLog"/> object.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.OutageLog"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.OutageLog.Initialize">
            <summary>
            Initialize the outage log.
            </summary>
            <remarks>
            <para>
            Initialization performs initial outage log read.
            </para>
            <para>
            It is important to separate initialization from construction such that consumer can attach to events before class
            is initialized in case initialization causes events to be raised.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.IO.OutageLog.Add(GSF.Ticks,GSF.Ticks)">
            <summary>
            Adds an outage to the <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="startTime">Start time of outage.</param>
            <param name="endTime">End time of outage.</param>
        </member>
        <member name="M:GSF.IO.OutageLog.Flush">
            <summary>
            Requests that outage log be flushed to disk.
            </summary>
            <remarks>
            Any change in <see cref="T:GSF.IO.OutageLog"/> contents will automatically queue a log file flush.
            This function only exists to force a flush and allow consumer to use returned wait handle
            to block calling thread until flush has completed.
            </remarks>
            <returns>
            Wait handle that can block a calling thread until flush completes.
            </returns>
        </member>
        <member name="M:GSF.IO.OutageLog.InitiateRead">
            <summary>
            Initiates a log read.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.InitiateWrite">
            <summary>
            Initiates a log write.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.OnProcessException(System.Exception)">
            <summary>
            Raises <see cref="E:GSF.IO.OutageLog.ProcessException"/> event.
            </summary>
            <param name="ex">Processing <see cref="T:System.Exception"/>.</param>
        </member>
        <member name="M:GSF.IO.OutageLog.ClearItems">
            <summary>
            Removes all elements from the <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.OutageLog.RemoveItem(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than zero.-or-
            <paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:GSF.IO.OutageLog.MoveItem(System.Int32,System.Int32)">
            <summary>
            Moves the item at the specified index to a new location in the <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="oldIndex">The zero-based index specifying the location of the <see cref="T:GSF.IO.Outage"/> to be moved.</param>
            <param name="newIndex">The zero-based index specifying the new location of the <see cref="T:GSF.IO.Outage"/>.</param>
        </member>
        <member name="M:GSF.IO.OutageLog.InsertItem(System.Int32,GSF.IO.Outage)">
            <summary>
            Inserts an element into the <see cref="T:GSF.IO.OutageLog"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="outage"/> should be inserted.</param>
            <param name="outage">The <see cref="T:GSF.IO.Outage"/> to insert.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than zero.-or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="M:GSF.IO.OutageLog.SetItem(System.Int32,GSF.IO.Outage)">
            <summary>
            Replaces the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to replace.</param>
            <param name="outage">The new <see cref="T:GSF.IO.Outage"/> for the element at the specified index.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="index"/> is less than zero.-or-
            <paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.
            </exception>
        </member>
        <member name="E:GSF.IO.OutageLog.ProcessException">
            <summary>
            Event is raised when there is an exception encountered while processing outage log.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the exception that was thrown.
            </remarks>
        </member>
        <member name="E:GSF.IO.OutageLog.Disposed">
            <summary>
            Raised after the outage log has been properly disposed.
            </summary>
        </member>
        <member name="P:GSF.IO.OutageLog.FileName">
            <summary>
            Gets or sets the file name for the outage log; file name can be set with a relative path.
            </summary>
        </member>
        <member name="P:GSF.IO.OutageLog.Enabled">
            <summary>        
            Gets or sets a boolean value that indicates whether the run-time log is enabled.
            </summary>
        </member>
        <member name="P:GSF.IO.OutageLog.Status">
            <summary>
            Gets the current status details about <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
        </member>
        <member name="T:GSF.IO.OutageLogProcessor">
            <summary>
            Represents a thread-safe <see cref="T:GSF.IO.OutageLog"/> processor that will operate on each <see cref="T:GSF.IO.Outage"/> with a consumer provided function on independent threads.
            </summary>
            <remarks>
            <para>
            This class is simply a <see cref="T:GSF.Collections.ProcessQueue`1"/> that uses a pre-initialized <see cref="T:GSF.IO.OutageLog"/> as its base collection.
            </para>
            <para>
            The <see cref="T:GSF.IO.OutageLogProcessor"/> encapsulates the <see cref="T:GSF.IO.OutageLog"/> in a thread-safe wrapper with full access to list operations.
            As a result, operations should generally be executed against the <see cref="T:GSF.IO.OutageLogProcessor"/> rather than the <see cref="T:GSF.IO.OutageLog"/>.
            </para>
            </remarks>
        </member>
        <member name="T:GSF.Collections.ProcessQueue`1">
            <summary>
            Represents a thread-safe (via locking) list of items, based on <see cref="T:System.Collections.Generic.List`1"/>, that get processed on independent threads with a consumer provided function.
            </summary>
            <typeparam name="T">Type of object to process</typeparam>
            <remarks>
            <para>This class acts as a strongly-typed collection of objects to be processed.</para>
            <para>Note that the <see cref="T:GSF.Collections.ProcessQueue`1"/> will not start processing until the Start method is called.</para>
            </remarks>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultProcessInterval">
            <summary>
            Default processing interval (in milliseconds).
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultMaximumThreads">
            <summary>
            Default maximum number of processing threads.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultProcessTimeout">
            <summary>
            Default processing timeout (in milliseconds).
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultRequeueOnTimeout">
            <summary>
            Default setting for requeuing items on processing timeout.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultRequeueOnException">
            <summary>
            Default setting for requeuing items on processing exceptions.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.RealTimeProcessInterval">
            <summary>
            Default real-time processing interval (in milliseconds).
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultRequeueModeOnTimeout">
            <summary>
            Default setting for requeuing mode on processing timeout.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueue`1.DefaultRequeueModeOnException">
            <summary>
            Default setting for requeuing mode on processing exceptions.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.#ctor(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.Collections.ProcessQueue`1"/> based on the generic List(Of T) class.
            </summary>
            <param name="processItemFunction">Delegate that defines a method to process one item at a time.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.#ctor(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.Collections.ProcessQueue`1"/> based on the generic List(Of T) class.
            </summary>
            <param name="processItemFunction">Delegate that defines a method to process one item at a time.</param>
            <param name="canProcessItemFunction">Delegate that determines if an item can currently be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.#ctor(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> based on the generic List(Of T) class.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.#ctor(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> based on the generic List(Of T) class.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate that determines if an item can currently be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.#ctor(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Collections.Generic.IList{`0},System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Allows derived classes to define their own instance, if desired.
            </summary>
            <param name="processItemFunction">Delegate that defines a method to process one item at a time.</param>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate that determines if an item can currently be processed.</param>
            <param name="processList">A storage list for items to be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Collections.ProcessQueue`1"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.TryTake(`0@)">
            <summary>
            Attempts to remove and return an object from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <param name="item">When this method returns, if the object was removed and returned successfully, item contains the removed object. If no object was available to be removed, the value is unspecified.</param>
            <returns><c>true</c> if an object was removed and returned successfully; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.TryTake(`0[]@)">
            <summary>
            Attempts to remove and return all objects from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <param name="items">When this method returns, if any objects were removed and returned successfully, item array contains the removed objects. If no object was available to be removed, the value is null.</param>
            <returns><c>true</c> if any objects were removed and returned successfully; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Collections.ProcessQueue`1"/> object.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Collections.ProcessQueue`1"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.SignalDataModified">
            <summary>
            Manually signals that data has been modified and processing should resume.
            </summary>
            <remarks>
            This function should be called in cases where a user may need to signal data modification. For example,
            if <typeparamref name="T"/> was a dictionary or list that was updated - you would need to manually
            signal that data had changed in this item.
            </remarks>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Contains(`0)">
            <summary>
            Determines whether an element is in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <returns>True, if item is found in the <see cref="T:GSF.Collections.ProcessQueue`1"/>; otherwise, false.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ToArray">
            <summary>
            Copies the elements contained in the <see cref="T:GSF.Collections.ProcessQueue`1"/> to a new array. 
            </summary>
            <returns>A new array containing the elements copied from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <returns>An enumerator for the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Start">
            <summary>
            Starts item processing.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Stop">
            <summary>
            Stops item processing.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Flush">
            <summary>
            Blocks the current thread, if the <see cref="T:GSF.Collections.ProcessQueue`1"/> is active (i.e., user has called "Start" method), until all items
            in <see cref="T:GSF.Collections.ProcessQueue`1"/> are processed, and then stops the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <remarks>
            <para>
            Begins processing items as quickly as possible, regardless of currently defined process interval, until all
            items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> have been processed. Stops the <see cref="T:GSF.Collections.ProcessQueue`1"/> when this function ends.
            This method is typically called on shutdown to make sure any remaining queued items get processed before the
            <see cref="T:GSF.Collections.ProcessQueue`1"/> is destructed.
            </para>
            <para>
            It is possible for items to be added to the <see cref="T:GSF.Collections.ProcessQueue`1"/> while the flush is executing. The flush will continue to
            process items as quickly as possible until the <see cref="T:GSF.Collections.ProcessQueue`1"/> is empty. Unless the user stops queuing items to be
            processed, the flush call may never return (not a happy situation on shutdown). For this reason, during this
            function call, requeuing of items on exception or process timeout is temporarily disabled.
            </para>
            <para>
            The <see cref="T:GSF.Collections.ProcessQueue`1"/> does not clear queue prior to destruction. If the user fails to call this method before the
            class is destructed, there may be items that remain unprocessed in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.OnItemProcessed(`0)">
            <summary>
            Raises the base class <see cref="E:GSF.Collections.ProcessQueue`1.ItemProcessed"/> event.
            </summary>
            <remarks>
            Derived classes cannot raise events of their base classes, so we expose event wrapper methods to accommodate
            as needed.
            </remarks>
            <param name="item">A generic type T to be passed to ItemProcessed.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.OnItemsProcessed(`0[])">
            <summary>
            Raises the base class <see cref="E:GSF.Collections.ProcessQueue`1.ItemsProcessed"/> event.
            </summary>
            <remarks>
            Derived classes cannot raise events of their base classes, so we expose event wrapper methods to accommodate
            as needed.
            </remarks>
            <param name="items">An array of generic type T to be passed to ItemsProcessed.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.OnItemTimedOut(`0)">
            <summary>
            Raises the base class <see cref="E:GSF.Collections.ProcessQueue`1.ItemTimedOut"/> event.
            </summary>
            <remarks>
            Derived classes cannot raise events of their base classes, so we expose event wrapper methods to accommodate
            as needed.
            </remarks>
            <param name="item">A generic type T to be passed to ItemProcessed.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.OnItemsTimedOut(`0[])">
            <summary>
            Raises the base class <see cref="E:GSF.Collections.ProcessQueue`1.ItemsTimedOut"/> event.
            </summary>
            <remarks>
            Derived classes cannot raise events of their base classes, so we expose event wrapper methods to accommodate
            as needed.
            </remarks>
            <param name="items">An array of generic type T to be passed to ItemsProcessed.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.OnProcessException(System.Exception)">
            <summary>
            Raises the base class <see cref="E:GSF.Collections.ProcessQueue`1.ProcessException"/> event.
            </summary>
            <remarks>
            Derived classes cannot raise events of their base classes, so we expose event wrapper methods to accommodate
            as needed.
            </remarks>
            <param name="ex"><see cref="T:System.Exception"/> to be passed to ProcessException.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.DataAdded">
            <summary>
            Notifies queue that data was added and/or modified, so it can begin processing data.
            </summary>
            <remarks>
            <para>
            Derived classes *must* make sure to call this method after data gets added, so that the
            process timer can be enabled for intervaled <see cref="T:GSF.Collections.ProcessQueue`1"/> and data processing can begin.
            </para>
            <para>
            To make sure items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> always get processed, this function is expected to be
            invoked from within a SyncLock of the exposed SyncRoot (i.e., InternalList).
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CanProcessItem(`0)">
            <summary>
            Determines if an item can be processed.
            </summary>
            <values>True, if user provided no implementation for the CanProcessItemFunction.</values>
            <remarks>
            <para>
            Use this function instead of invoking the CanProcessItemFunction pointer
            directly, since implementation of this delegate is optional.
            </para>
            </remarks>
            <param name="item">The item T to process.</param>
            <returns>A <see cref="T:System.Boolean"/> value indicating whether it can process the item or not.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CanProcessItems(`0[])">
            <summary>
            Determines if all items can be processed.
            </summary>
            <values>True, if user provided no implementation for the CanProcessItemFunction.</values>
            <remarks>
            <para>
            Use this function instead of invoking the CanProcessItemFunction pointer
            directly, since implementation of this delegate is optional.
            </para>
            </remarks>
            <param name="items">An array of items of type T.</param>
            <returns>A <see cref="T:System.Boolean"/> value indicating whether the process queue can process the items.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.RequeueItem(`0,GSF.Collections.RequeueReason)">
            <summary>
            Requeues item into <see cref="T:GSF.Collections.ProcessQueue`1"/> according to specified requeue reason.
            </summary>
            <param name="item">A generic item of type T to be requeued.</param>
            <param name="reason">The reason the object is being requeued.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.RequeueItems(`0[],GSF.Collections.RequeueReason)">
            <summary>
            Requeues items into <see cref="T:GSF.Collections.ProcessQueue`1"/> according to specified requeue reason.
            </summary>
            <param name="items">Array of type T to be requeued.</param>
            <param name="reason">The reason the object is being requeued.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.AddRange(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds the elements of the specified collection to the end of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <param name="collection">
            The collection whose elements should be added to the end of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            The collection itself cannot be null, but it can contain elements that are null, if type T is a reference type.
            </param>
            <exception cref="T:System.ArgumentNullException">collection is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.BinarySearch(`0)">
            <summary>
            Searches the entire sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, using a binary search algorithm, for an element using the
            default comparer and returns the zero-based index of the element.
            </summary>
            <remarks>
            <see cref="T:GSF.Collections.ProcessQueue`1"/> must be sorted in order for this function to return an accurate result.
            </remarks>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, if item is found; otherwise, a negative number that is the
            bitwise complement of the index of the next element that is larger than item or, if there is no larger element,
            the bitwise complement of count.
            </returns>
            <exception cref="T:System.InvalidOperationException">The default comparer, Generic.Comparer.Default, cannot find an
            implementation of the IComparable generic interface or the IComparable interface for type T.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.BinarySearch(`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches the entire sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, using a binary search algorithm, for an element using the
            specified comparer and returns the zero-based index of the element.
            </summary>
            <remarks>
            <see cref="T:GSF.Collections.ProcessQueue`1"/> must be sorted in order for this function to return an accurate result.
            </remarks>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or-
            null to use the default comparer: Generic.Comparer(Of T).Default</param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, if item is found; otherwise, a negative number that is the
            bitwise complement of the index of the next element that is larger than item or, if there is no larger element,
            the bitwise complement of count.
            </returns>
            <exception cref="T:System.InvalidOperationException">The default comparer, Generic.Comparer.Default, cannot find an
            implementation of the IComparable generic interface or the IComparable interface for type T.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.BinarySearch(System.Int32,System.Int32,`0,System.Collections.Generic.IComparer{`0})">
            <summary>
            Searches a range of elements in the sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, using a binary search algorithm, for an
            element using the specified comparer and returns the zero-based index of the element.
            </summary>
            <remarks>
            <see cref="T:GSF.Collections.ProcessQueue`1"/> must be sorted in order for this function to return an accurate result.
            </remarks>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count">The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or- null to use
            the default comparer: Generic.Comparer(Of T).Default</param>
            <returns>
            The zero-based index of item in the sorted <see cref="T:GSF.Collections.ProcessQueue`1"/>, if item is found; otherwise, a negative number that is the
            bitwise complement of the index of the next element that is larger than item or, if there is no larger element,
            the bitwise complement of count.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            -or- count is less than 0 -or- startIndex and count do not specify a valid section in the <see cref="T:GSF.Collections.ProcessQueue`1"/></exception>
            <exception cref="T:System.InvalidOperationException">The default comparer, Generic.Comparer.Default, cannot find an
            implementation of the IComparable generic interface or the IComparable interface for type T.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ConvertAll``1(System.Converter{`0,``0})">
            <summary>Converts the elements in the current <see cref="T:GSF.Collections.ProcessQueue`1"/> to another type, and returns a <see cref="T:GSF.Collections.ProcessQueue`1"/> containing the
            converted elements.</summary>
            <returns>A generic list of the target type containing the converted elements from the current <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
            <param name="converter">A Converter delegate that converts each element from one type to another type.</param>
            <exception cref="T:System.ArgumentNullException">converter is null.</exception>
            <typeparam name="TOutput">The generic type used.</typeparam>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Exists(System.Predicate{`0})">
            <summary>Determines whether the <see cref="T:GSF.Collections.ProcessQueue`1"/> contains elements that match the conditions defined by the specified
            predicate.</summary>
            <returns>True, if the <see cref="T:GSF.Collections.ProcessQueue`1"/> contains one or more elements that match the conditions defined by the specified
            predicate; otherwise, false.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the elements to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Find(System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the first occurrence within the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The first element that matches the conditions defined by the specified predicate, if found;
            otherwise, the default value for type T.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindAll(System.Predicate{`0})">
            <summary>Retrieves all elements that match the conditions defined by the specified predicate.</summary>
            <returns>A generic list containing all elements that match the conditions defined by the specified predicate,
            if found; otherwise, an empty list.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the elements to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindIndex(System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the first occurrence within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the
            specified index to the last element.</summary>
            <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindIndex(System.Int32,System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the first occurrence within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the
            specified index to the last element.</summary>
            <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the first occurrence within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the
            specified index to the last element.</summary>
            <returns>The zero-based index of the first occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="startIndex">The zero-based starting index of the search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            -or- count is less than 0 -or- startIndex and count do not specify a valid section in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindLast(System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns the last occurrence within the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The last element that matches the conditions defined by the specified predicate, if found; otherwise, the default value for type T.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindLastIndex(System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the last occurrence within the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindLastIndex(System.Int32,System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the last occurrence within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the
            first element to the specified index.</summary>
            <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.FindLastIndex(System.Int32,System.Int32,System.Predicate{`0})">
            <summary>Searches for an element that matches the conditions defined by the specified predicate, and returns
            the zero-based index of the last occurrence within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that contains the
            specified number of elements and ends at the specified index.</summary>
            <returns>The zero-based index of the last occurrence of an element that matches the conditions defined by
            match, if found; otherwise, –1.</returns>
            <param name="count">The number of elements in the section to search.</param>
            <param name="startIndex">The zero-based starting index of the backward search.</param>
            <param name="match">The Predicate delegate that defines the conditions of the element to search for.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            -or- count is less than 0 -or- startIndex and count do not specify a valid section in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ForEach(System.Action{`0})">
            <summary>Performs the specified action on each element of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <param name="action">The Action delegate to perform on each element of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</param>
            <exception cref="T:System.ArgumentNullException">action is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.GetRange(System.Int32,System.Int32)">
            <summary>Creates a shallow copy of a range of elements in the source <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>A shallow copy of a range of elements in the source <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
            <param name="count">The number of elements in the range.</param>
            <param name="index">The zero-based <see cref="T:GSF.Collections.ProcessQueue`1"/> index at which the range starts.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- count is less than 0.</exception>
            <exception cref="T:System.ArgumentException">index and count do not denote a valid range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.IndexOf(`0,System.Int32)">
            <summary>Searches for the specified object and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the specified index to the last element.</summary>
            <returns>The zero-based index of the first occurrence of item within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that
            extends from index to the last element, if found; otherwise, –1.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the search.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.IndexOf(`0,System.Int32,System.Int32)">
            <summary>Searches for the specified object and returns the zero-based index of the first occurrence within
            the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that starts at the specified index and contains the specified number of
            elements.</summary>
            <returns>The zero-based index of the first occurrence of item within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that
            starts at index and contains count number of elements, if found; otherwise, –1.</returns>
            <param name="count">The number of elements in the section to search.</param>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the search.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            -or- count is less than 0 -or- index and count do not specify a valid section in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.InsertRange(System.Int32,System.Collections.Generic.IEnumerable{`0})">
            <summary>Inserts the elements of a collection into the <see cref="T:GSF.Collections.ProcessQueue`1"/> at the specified index.</summary>
            <param name="collection">The collection whose elements should be inserted into the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The collection
            itself cannot be null, but it can contain elements that are null, if type T is a reference type.</param>
            <param name="index">The zero-based index at which the new elements should be inserted.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- index is greater than <see cref="T:GSF.Collections.ProcessQueue`1"/> length.</exception>
            <exception cref="T:System.ArgumentNullException">collection is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.LastIndexOf(`0)">
            <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the
            entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The zero-based index of the last occurrence of item within the entire the <see cref="T:GSF.Collections.ProcessQueue`1"/>, if found;
            otherwise, –1.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.LastIndexOf(`0,System.Int32)">
            <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the
            range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that extends from the first element to the specified index.</summary>
            <returns>The zero-based index of the last occurrence of item within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that
            extends from the first element to index, if found; otherwise, –1.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/>. </exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.LastIndexOf(`0,System.Int32,System.Int32)">
            <summary>Searches for the specified object and returns the zero-based index of the last occurrence within the
            range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that contains the specified number of elements and ends at the specified index.</summary>
            <returns>The zero-based index of the last occurrence of item within the range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/> that
            contains count number of elements and ends at index, if found; otherwise, –1.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is outside the range of valid indexes for the <see cref="T:GSF.Collections.ProcessQueue`1"/> -or-
            count is less than 0 -or- index and count do not specify a valid section in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.RemoveAll(System.Predicate{`0})">
            <summary>Removes the all the elements that match the conditions defined by the specified predicate.</summary>
            <returns>The number of elements removed from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
            <param name="match">The Predicate delegate that defines the conditions of the elements to remove.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.RemoveRange(System.Int32,System.Int32)">
            <summary>Removes a range of elements from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <param name="count">The number of elements to remove.</param>
            <param name="index">The zero-based starting index of the range of elements to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- count is less than 0.</exception>
            <exception cref="T:System.ArgumentException">index and count do not denote a valid range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Reverse">
            <summary>Reverses the order of the elements in the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Reverse(System.Int32,System.Int32)">
            <summary>Reverses the order of the elements in the specified range.</summary>
            <param name="count">The number of elements in the range to reverse.</param>
            <param name="index">The zero-based starting index of the range to reverse.</param>
            <exception cref="T:System.ArgumentException">index and count do not denote a valid range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- count is less than 0.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Sort">
            <summary>Sorts the elements in the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>, using the default comparer.</summary>
            <exception cref="T:System.InvalidOperationException">The default comparer, Generic.Comparer.Default, cannot find an
            implementation of the IComparable generic interface or the IComparable interface for type T.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Sort(System.Collections.Generic.IComparer{`0})">
            <summary>Sorts the elements in the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>, using the specified comparer.</summary>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements, or null to use
            the default comparer: Generic.Comparer.Default.</param>
            <exception cref="T:System.ArgumentException">The implementation of comparer caused an error during the sort. For
            example, comparer might not return 0 when comparing an item with itself.</exception>
            <exception cref="T:System.InvalidOperationException">the comparer is null and the default comparer,
            Generic.Comparer.Default, cannot find an implementation of the IComparable generic interface or the
            IComparable interface for type T.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{`0})">
            <summary>Sorts the elements in a range of elements in the <see cref="T:GSF.Collections.ProcessQueue`1"/>, using the specified comparer.</summary>
            <param name="count">The length of the range to sort.</param>
            <param name="index">The zero-based starting index of the range to sort.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements, or null to use
            the default comparer: Generic.Comparer.Default.</param>
            <exception cref="T:System.ArgumentException">The implementation of comparer caused an error during the sort. For
            example, comparer might not return 0 when comparing an item with itself.</exception>
            <exception cref="T:System.InvalidOperationException">the comparer is null and the default comparer,
            Generic.Comparer.Default, cannot find an implementation of the IComparable generic interface or the
            IComparable interface for type T.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- count is less than 0.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Sort(System.Comparison{`0})">
            <summary>Sorts the elements in the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>, using the specified comparison.</summary>
            <param name="comparison">The comparison to use when comparing elements.</param>
            <exception cref="T:System.ArgumentException">The implementation of comparison caused an error during the sort. For
            example, comparison might not return 0 when comparing an item with itself.</exception>
            <exception cref="T:System.ArgumentNullException">comparison is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.TrueForAll(System.Predicate{`0})">
            <summary>Determines whether every element in the <see cref="T:GSF.Collections.ProcessQueue`1"/> matches the conditions defined by the specified
            predicate.</summary>
            <returns>True, if every element in the <see cref="T:GSF.Collections.ProcessQueue`1"/> matches the conditions defined by the specified predicate;
            otherwise, false. If the <see cref="T:GSF.Collections.ProcessQueue`1"/> has no elements, the return value is true.</returns>
            <param name="match">The Predicate delegate that defines the conditions to check against the elements.</param>
            <exception cref="T:System.ArgumentNullException">match is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Add(`0)">
            <summary>Adds an item to the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <param name="item">The item to add to the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Insert(System.Int32,`0)">
            <summary>Inserts an element into the <see cref="T:GSF.Collections.ProcessQueue`1"/> at the specified index.</summary>
            <param name="item">The object to insert. The value can be null for reference types.</param>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- index is greater than <see cref="T:GSF.Collections.ProcessQueue`1"/> length.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CopyTo(`0[],System.Int32)">
            <summary>Copies the entire <see cref="T:GSF.Collections.ProcessQueue`1"/> to a compatible one-dimensional array, starting at the beginning of the
            target array.</summary>
            <param name="array">The one-dimensional array that is the destination of the elements copied from <see cref="T:GSF.Collections.ProcessQueue`1"/>. The
            array must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
            <exception cref="T:System.ArgumentException">arrayIndex is equal to or greater than the length of array -or- the
            number of elements in the source <see cref="T:GSF.Collections.ProcessQueue`1"/> is greater than the available space from arrayIndex to the end of the
            destination array.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">arrayIndex is less than 0.</exception>
            <exception cref="T:System.ArgumentNullException">array is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.IndexOf(`0)">
            <summary>Searches for the specified object and returns the zero-based index of the first occurrence within
            the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The zero-based index of the first occurrence of item within the entire <see cref="T:GSF.Collections.ProcessQueue`1"/>, if found; otherwise, –1.</returns>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Clear">
            <summary>
            Removes all elements from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.Remove(`0)">
            <summary>Removes the first occurrence of a specific object from the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>True, if item is successfully removed; otherwise, false. This method also returns false if item was
            not found in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
            <param name="item">The object to remove from the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.RemoveAt(System.Int32)">
            <summary>Removes the element at the specified index of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- index is equal to or greater than
            <see cref="T:GSF.Collections.ProcessQueue`1"/> length.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ProcessItem(`0)">
            <summary>
            Handles standard processing of a single item. 
            </summary>
            <param name="item">A generic item of type T to be processed.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ProcessItems(`0[])">
            <summary>
            Handles standard processing of multiple items.
            </summary>
            <param name="items">Array of type T.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ProcessTimerThreadProc(System.Object,System.Timers.ElapsedEventArgs)">
            <summary>
            Processes queued items on an interval.
            </summary>
            <param name="sender">The sender object of the item.</param>
            <param name="e">Arguments for the elapsed event.</param>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ProcessNextItem">
            <summary>
            Processes next item in queue, one at a time (i.e., ProcessingStyle = OneAtATime). 
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.ProcessNextItems">
            <summary>
            Processes next items in an array of items as a group (i.e., ProcessingStyle = ManyAtOnce).
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100, MaximumThreads = 5,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100, MaximumThreads = 5,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,System.Int32)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Int32)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> using  specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature)">
            <summary>
            Creates a new synchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) with the default settings:
            ProcessInterval = 100, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new synchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) with the default settings:
            ProcessInterval = 100, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,System.Double,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new synchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) using specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new synchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) using specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature)">
            <summary>
            Creates a new real-time <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessTimeout = Infinite,
            RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new real-time <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessTimeout = Infinite,
            RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new real-time <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new real-time <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemFunction">Delegate that processes one item at a time.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            MaximumThreads = 5, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            MaximumThreads = 5, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,System.Int32)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Int32)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessInterval = 100,
            ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateAsynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new asynchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> value that determines the maximum number of threads used to process items.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature)">
            <summary>
            Creates a new synchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) with the default settings:
            ProcessInterval = 100, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new synchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) with the default settings:
            ProcessInterval = 100, ProcessTimeout = Infinite, RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,System.Double,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new synchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateSynchronousQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new synchronous, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., single process thread) using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature)">
            <summary>
            Creates a new real-time, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessTimeout = Infinite,
            RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature)">
            <summary>
            Creates a new real-time, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> with the default settings: ProcessTimeout = Infinite,
            RequeueOnTimeout = False, RequeueOnException = False.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new real-time, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessQueue`1.CreateRealTimeQueue(GSF.Collections.ProcessQueue{`0}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{`0}.CanProcessItemFunctionSignature,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a new real-time, bulk item <see cref="T:GSF.Collections.ProcessQueue`1"/> using specified settings.
            </summary>
            <param name="processItemsFunction">Delegate that defines a method to process multiple items at once.</param>
            <param name="canProcessItemFunction">Delegate which determines whether an item can be processed.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
            <returns>A ProcessQueue object based on type T.</returns>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.ItemProcessed">
            <summary>
            Event that is raised after an item has been successfully processed.
            </summary>
            <remarks>
            <para>Allows custom handling of successfully processed items.</para>
            <para>Allows notification when an item has completed processing in the allowed amount of time, if a process
            timeout is specified.</para>
            <para>Raised only when ProcessingStyle = OneAtATime (i.e., <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> is defined).</para>
            </remarks>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.ItemsProcessed">
            <summary>
            Event that is raised after an array of items have been successfully processed.
            </summary>
            <remarks>
            <para>Allows custom handling of successfully processed items.</para>
            <para>Allows notification when an item has completed processing in the allowed amount of time, if a process
            timeout is specified.</para>
            <para>Raised only when when ProcessingStyle = ManyAtOnce (i.e., <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/> is defined).</para>
            </remarks>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.ItemTimedOut">
            <summary>
            Event that is raised if an item's processing time exceeds the specified process timeout.
            </summary>
            <remarks>
            <para>Allows custom handling of items that took too long to process.</para>
            <para>Raised only when ProcessingStyle = OneAtATime (i.e., <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> is defined).</para>
            </remarks>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.ItemsTimedOut">
            <summary>
            Event that is raised if the processing time for an array of items exceeds the specified process timeout.
            </summary>
            <remarks>
            <para>Allows custom handling of items that took too long to process.</para>
            <para>Raised only when ProcessingStyle = ManyAtOnce (i.e., <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/> is defined).</para>
            </remarks>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.ProcessException">
            <summary>
            Event that is raised if an exception is encountered while attempting to processing an item in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <remarks>
            Processing will not stop for any exceptions thrown by the user function, but any captured exceptions will
            be exposed through this event.
            </remarks>
        </member>
        <member name="E:GSF.Collections.ProcessQueue`1.Disposed">
            <summary>
            Occurs when the class has been disposed.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>The element at the specified index.</returns>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">index is less than 0 -or- index is equal to or greater than <see cref="T:GSF.Collections.ProcessQueue`1"/> length.</exception>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.IsReadOnly">
            <summary>Gets a value indicating whether the <see cref="T:GSF.Collections.ProcessQueue`1"/> is read-only.</summary>
            <returns>True, if the <see cref="T:GSF.Collections.ProcessQueue`1"/> is read-only; otherwise, false. In the default implementation, this property
            always returns false.</returns>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction">
            <summary>
            Gets or sets the user function for processing individual items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> one at a time.
            </summary>
            <remarks>
            <para>Cannot be defined simultaneously with <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/>.</para>
            <para>A <see cref="T:GSF.Collections.ProcessQueue`1"/> must be defined to process a single item at a time or many items at once.</para>
            <para>Implementation makes ProcessingStyle = OneAtATime.</para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction">
            <summary>
            Gets or sets the user function for processing multiple items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> at once.
            </summary>
            <remarks>
            <para>This function and <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> cannot be defined at the same time</para>
            <para>A <see cref="T:GSF.Collections.ProcessQueue`1"/> must be defined to process a single item at a time or many items at once</para>
            <para>Implementation of this function makes ProcessingStyle = ManyAtOnce</para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.CanProcessItemFunction">
            <summary>
            Gets or sets the user function determining if an item is ready to be processed.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessingIsRealTime">
            <summary>
            Gets indicator that items will be processed in real-time.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ThreadingMode">
            <summary>
            Gets the current <see cref="T:GSF.Collections.QueueThreadingMode"/> for the <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., synchronous or asynchronous).
            </summary>
            <remarks>
            <para>The maximum number of processing threads determines the <see cref="T:GSF.Collections.QueueThreadingMode"/>.</para>
            <para>If the maximum threads are set to one, item processing will be synchronous
            (i.e., ThreadingMode = Synchronous).</para>
            <para>If the maximum threads are more than one, item processing will be asynchronous
            (i.e., ThreadingMode = Asynchronous).</para>
            <para>
            Note that for asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/>, the processing interval will control how many threads are spawned
            at once. If items are processed faster than the specified processing interval, only one process thread
            will ever be spawned at a time. To ensure multiple threads are utilized to <see cref="T:GSF.Collections.ProcessQueue`1"/> items, lower
            the process interval (minimum process interval is 1 millisecond).
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessingStyle">
            <summary>
            Gets the item <see cref="T:GSF.Collections.QueueProcessingStyle"/> for the <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., one at a time or many at once).
            </summary>
            <returns>
            <para>OneAtATime, if the <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> is implemented.</para>
            <para>ManyAtOnce, if the <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/> is implemented.</para>
            </returns>
            <remarks>
            <para>The implemented item processing function determines the <see cref="T:GSF.Collections.QueueProcessingStyle"/>.</para>
            <para>
            If the <see cref="T:GSF.Collections.QueueProcessingStyle"/> is ManyAtOnce, all available items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> are presented for processing
            at each processing interval. If you expect items to be processed in the order in which they were received, make
            sure you use a synchronous <see cref="T:GSF.Collections.ProcessQueue`1"/>. Real-time <see cref="T:GSF.Collections.ProcessQueue`1"/> are inherently synchronous.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessInterval">
            <summary>
            Gets or sets the interval, in milliseconds, on which new items begin processing.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.MaximumThreads">
            <summary>
            Gets or sets the maximum number of threads to process simultaneously.
            </summary>
            <value>Sets the maximum number of processing threads.</value>
            <returns>Maximum number of processing threads.</returns>
            <remarks>If MaximumThreads is set to one, item processing will be synchronous (i.e., ThreadingMode = Synchronous)</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ProcessTimeout">
            <summary>
            Gets or sets the maximum time, in milliseconds, allowed for processing an item.
            </summary>
            <value>Sets the maximum number of milliseconds allowed to process an item.</value>
            <returns>The maximum number of milliseconds allowed to process an item.</returns>
            <remarks>Set to Timeout.Infinite (i.e., -1) to allow processing to take as long as needed.</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.SynchronizedOperationType">
            <summary>
            Gets or sets the type of synchronized operation used to process items in a real-time <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.RequeueOnTimeout">
            <summary>
            Gets or sets whether or not to automatically place an item back into the <see cref="T:GSF.Collections.ProcessQueue`1"/> if the processing times out.
            </summary>
            <remarks>Ignored if the ProcessTimeout is set to Timeout.Infinite (i.e., -1).</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.RequeueOnException">
            <summary>
            Gets or sets whether or not to automatically place an item back into the <see cref="T:GSF.Collections.ProcessQueue`1"/> if an exception occurs
            while processing.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.RequeueModeOnTimeout">
            <summary>
            Gets or sets the mode of insertion used (prefix or suffix) when at item is placed back into the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            after processing times out.
            </summary>
            <remarks>Only relevant when RequeueOnTimeout = True.</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.RequeueModeOnException">
            <summary>
            Gets or sets the mode of insertion used (prefix or suffix) when at item is placed back into the
            <see cref="T:GSF.Collections.ProcessQueue`1"/> after an exception occurs while processing.
            </summary>
            <remarks>Only relevant when RequeueOnException = True.</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.Enabled">
            <summary>
            Gets or sets indicator that the <see cref="T:GSF.Collections.ProcessQueue`1"/> is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.IsProcessing">
            <summary>
            Gets indicator that the <see cref="T:GSF.Collections.ProcessQueue`1"/> is actively processing items.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.IsEmpty">
            <summary>
            Gets a value that indicates whether the <see cref="T:GSF.Collections.ProcessQueue`1"/> is empty.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ItemsBeingProcessed">
            <summary>
            Gets the total number of items currently being processed.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.TotalProcessedItems">
            <summary>
            Gets the total number of items processed so far.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.TotalFunctionCalls">
            <summary>
            Gets the total number of calls to <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> or <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.ThreadCount">
            <summary>
            Gets the current number of active threads.
            </summary>
            <returns>Current number of active threads.</returns>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.RunTime">
            <summary>
            Gets the total amount of time, in seconds, that the <see cref="T:GSF.Collections.ProcessQueue`1"/> has been active.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.Name">
            <summary>
            Gets or sets name for this <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
            <remarks>
            This name is used for class identification in strings (e.g., used in error messages).
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.Count">
            <summary>Gets the number of elements actually contained in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>The number of elements actually contained in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.</returns>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.IsSynchronized">
            <summary>Gets a value indicating whether access to the <see cref="T:GSF.Collections.ProcessQueue`1"/> is synchronized (thread safe).  Always returns true for <see cref="T:GSF.Collections.ProcessQueue`1"/>.</summary>
            <returns>true, <see cref="T:GSF.Collections.ProcessQueue`1"/> is always synchronized (thread safe).</returns>
            <remarks>The <see cref="T:GSF.Collections.ProcessQueue`1"/> is effectively "synchronized" since all functions SyncLock operations internally.</remarks>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.CurrentStatistics">
            <summary>
            Gets the current run-time statistics of the <see cref="T:GSF.Collections.ProcessQueue`1"/> as a single group of values.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.Status">
            <summary>
            Gets current status of <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.InternalEnumerable">
            <summary>
            Allows derived classes to access the interfaced internal <see cref="T:GSF.Collections.ProcessQueue`1"/> directly.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.SyncRoot">
            <summary>
            Gets an object that can be used to synchronize access to the <see cref="T:GSF.Collections.ProcessQueue`1"/>. 
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessQueue`1.InternalList">
            <summary>
            Gets the internal list for direct use by <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="T:GSF.Collections.ProcessQueue`1.ProcessItemFunctionSignature">
            <summary>
            Function signature that defines a method to process items one at a time.
            </summary>
            <param name="item">Item to be processed.</param>
            <remarks>
            <para>Required unless <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/> is implemented.</para>
            <para>Creates an asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> to process individual items - one item at a time - on multiple threads.</para>
            </remarks>
        </member>
        <member name="T:GSF.Collections.ProcessQueue`1.ProcessItemsFunctionSignature">
            <summary>
            Function signature that defines a method to process multiple items at once.
            </summary>
            <param name="items">Items to be processed.</param>
            <remarks>
            <para>Required unless <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemFunction"/> is implemented.</para>
            <para>Creates an asynchronous <see cref="T:GSF.Collections.ProcessQueue`1"/> to process groups of items simultaneously on multiple threads.</para>
            </remarks>
        </member>
        <member name="T:GSF.Collections.ProcessQueue`1.CanProcessItemFunctionSignature">
            <summary>
            Function signature that determines if an item can be currently processed.
            </summary>
            <param name="item">Item to be checked for processing availability.</param>
            <returns>True, if item can be processed. The default is true.</returns>
            <remarks>
            <para>Implementation of this function is optional. It is assumed that an item can be processed if this
            function is not defined</para>
            <para>Items must eventually get to a state where they can be processed, or they will remain in the <see cref="T:GSF.Collections.ProcessQueue`1"/>
            indefinitely.</para>
            <para>
            Note that when this function is implemented and ProcessingStyle = ManyAtOnce (i.e., 
            <see cref="P:GSF.Collections.ProcessQueue`1.ProcessItemsFunction"/> is defined), then each item presented for 
            processing must evaluate as "CanProcessItem = True" before any items are processed.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.IO.OutageLogProcessor.#ctor(GSF.IO.OutageLog,GSF.Collections.ProcessQueue{GSF.IO.Outage}.ProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.IO.OutageLogProcessor"/> using a pre-initialized <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="outageLog">Pre-initialized <see cref="T:GSF.IO.OutageLog"/> to process.</param>
            <param name="processItemFunction">A delegate <see cref="T:GSF.Collections.ProcessQueue`1.ProcessItemFunctionSignature"/> that defines a function signature to process a key and value one at a time.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.IO.OutageLogProcessor.#ctor(GSF.IO.OutageLog,GSF.Collections.ProcessQueue{GSF.IO.Outage}.ProcessItemFunctionSignature,GSF.Collections.ProcessQueue{GSF.IO.Outage}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.IO.OutageLogProcessor"/> using a pre-initialized <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="outageLog">Pre-initialized <see cref="T:GSF.IO.OutageLog"/> to process.</param>
            <param name="processItemFunction">A delegate <see cref="T:GSF.Collections.ProcessQueue`1.ProcessItemFunctionSignature"/> that defines a function signature to process a key and value one at a time.</param>
            <param name="canProcessItemFunction">Optional delegate <see cref="T:GSF.Collections.ProcessQueue`1.CanProcessItemFunctionSignature"/> that determines of a key and value can currently be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.IO.OutageLogProcessor.#ctor(GSF.IO.OutageLog,GSF.Collections.ProcessQueue{GSF.IO.Outage}.ProcessItemsFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk-item <see cref="T:GSF.IO.OutageLogProcessor"/> using a pre-initialized <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="outageLog">Pre-initialized <see cref="T:GSF.IO.OutageLog"/> to process.</param>
            <param name="processItemsFunction">A delegate <see cref="T:GSF.Collections.ProcessQueue`1.ProcessItemsFunctionSignature"/> that defines a function signature to process multiple items at once.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.IO.OutageLogProcessor.#ctor(GSF.IO.OutageLog,GSF.Collections.ProcessQueue{GSF.IO.Outage}.ProcessItemsFunctionSignature,GSF.Collections.ProcessQueue{GSF.IO.Outage}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk-item <see cref="T:GSF.IO.OutageLogProcessor"/> using a pre-initialized <see cref="T:GSF.IO.OutageLog"/>.
            </summary>
            <param name="outageLog">Pre-initialized <see cref="T:GSF.IO.OutageLog"/> to process.</param>
            <param name="processItemsFunction">A delegate <see cref="T:GSF.Collections.ProcessQueue`1.ProcessItemsFunctionSignature"/> that defines a function signature to process multiple items at once.</param>
            <param name="canProcessItemFunction">Optional delegate <see cref="T:GSF.Collections.ProcessQueue`1.CanProcessItemFunctionSignature"/> that determines of a key and value can currently be processed.</param>
            <param name="processInterval">a <see cref="T:System.Double"/> value which represents the process interval in milliseconds.</param>
            <param name="maximumThreads">The maximum number of threads for the queue to use.</param>
            <param name="processTimeout">The number of seconds before a process should timeout.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue an item on timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether a process should requeue after an exception.</param>
        </member>
        <member name="M:GSF.IO.OutageLogProcessor.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.OutageLogProcessor"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="T:GSF.IO.RunTimeLog">
            <summary>
            Represents a persisted run-time log that tracks last start, stop and running times.
            </summary>
        </member>
        <member name="F:GSF.IO.RunTimeLog.DateTimeFormat">
            <summary>
            Date-time format used by <see cref="T:GSF.IO.RunTimeLog"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.RunTimeLog.LastStartTimeKey">
            <summary>
            Log file key name for last start time used by <see cref="T:GSF.IO.RunTimeLog"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.RunTimeLog.LastStopTimeKey">
            <summary>
            Log file key name for last stop time used by <see cref="T:GSF.IO.RunTimeLog"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.RunTimeLog.LastRunningTimeKey">
            <summary>
            Log file key name for last running time used by <see cref="T:GSF.IO.RunTimeLog"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.#ctor">
            <summary>
            Creates a new run-time log.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.IO.RunTimeLog"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.IO.RunTimeLog"/> object.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.RunTimeLog"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.RunTimeLog.Initialize">
            <summary>
            Initialize the run-time log.
            </summary>
            <remarks>
            <para>
            Initialization performs initial run-time log read, establishes new start time and enables automatic write log timer.
            </para>
            <para>
            Last logged stop time will be validated against last logged running time. If the last logged running time is later
            than the last logged stop time, the stop time will be set to the running time with the assumption that the log file
            was not properly shut down (e.g., due to abnormal host termination).
            </para>
            <para>
            It is important to separate initialization from construction such that consumer can attach to events before class
            is initialized in case initialization causes events to be raised.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.IO.RunTimeLog.ReadLog">
            <summary>
            Reads the run-time log.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.WriteLog">
            <summary>
            Writes the run-time log - times are in a human readable format.
            </summary>
        </member>
        <member name="M:GSF.IO.RunTimeLog.OnProcessException(System.Exception)">
            <summary>
            Raises <see cref="E:GSF.IO.RunTimeLog.ProcessException"/> event.
            </summary>
            <param name="ex">Processing <see cref="T:System.Exception"/>.</param>
        </member>
        <member name="E:GSF.IO.RunTimeLog.ProcessException">
            <summary>
            Event is raised when there is an exception encountered while processing run-time log.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the exception that was thrown.
            </remarks>
        </member>
        <member name="E:GSF.IO.RunTimeLog.Disposed">
            <summary>
            Raised after the run-time log has been properly disposed.
            </summary>
        </member>
        <member name="P:GSF.IO.RunTimeLog.FileName">
            <summary>
            Gets or sets the file name for the run-time log; file name can be set with a relative path.
            </summary>
        </member>
        <member name="P:GSF.IO.RunTimeLog.StartTime">
            <summary>
            Gets last known start-time.
            </summary>
        </member>
        <member name="P:GSF.IO.RunTimeLog.StopTime">
            <summary>
            Gets last known stop-time.
            </summary>
        </member>
        <member name="P:GSF.IO.RunTimeLog.RunningTime">
            <summary>
            Gets last known running-time (10-second resolution).
            </summary>
        </member>
        <member name="P:GSF.IO.RunTimeLog.Enabled">
            <summary>        
            Gets or sets a boolean value that indicates whether the run-time log is enabled.
            </summary>
            <remarks>
            This property controls the automatic write log timer.
            </remarks>
        </member>
        <member name="P:GSF.IO.RunTimeLog.Status">
            <summary>
            Gets the current status details about <see cref="T:GSF.IO.RunTimeLog"/>.
            </summary>
        </member>
        <member name="T:GSF.NativeBinaryValue">
            <summary>
            Represents a binary data sample stored as a byte array ordered in the
            endianness of the OS, but implicitly castable to most common native types.
            </summary>
        </member>
        <member name="M:GSF.NativeBinaryValue.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new binary value, ordered in the endianness of the OS, from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.NativeBinaryValue.#ctor(System.Byte[])">
            <summary>Creates a new binary value, ordered in the endianness of the OS, from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.NativeBinaryValue.#ctor(System.TypeCode,System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new binary value, ordered in the endianness of the OS, from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
        </member>
        <member name="M:GSF.NativeBinaryValue.#ctor(System.TypeCode,System.Byte[])">
            <summary>Creates a new binary value, ordered in the endianness of the OS, from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
        </member>
        <member name="M:GSF.NativeBinaryValue.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.ConvertToType(System.TypeCode)">
            <summary>
            Returns a <see cref="T:GSF.NativeBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.
            </summary>
            <param name="typeCode">Desired <see cref="T:System.TypeCode"/> for destination value.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Unable to convert binary value to specified type.</exception>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Byte">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Byte"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Byte"/>.</param>
            <returns>A <see cref="T:System.Byte"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Byte)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Byte"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Byte"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Byte"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Int16">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Int16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Int16"/>.</param>
            <returns>A <see cref="T:System.Int16"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Int16)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int16"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int16"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Int16"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.UInt16">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.UInt16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.UInt16"/>.</param>
            <returns>A <see cref="T:System.UInt16"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.UInt16)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt16"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt16"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.UInt16"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~GSF.Int24">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:GSF.Int24"/>.</param>
            <returns>A <see cref="T:GSF.Int24"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.Int24)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:GSF.Int24"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~GSF.UInt24">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:GSF.UInt24"/>.</param>
            <returns>A <see cref="T:GSF.UInt24"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.UInt24)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:GSF.UInt24"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Int32">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Int32"/>.</param>
            <returns>A <see cref="T:System.Int32"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Int32)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int32"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int32"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Int32"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.UInt32">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.UInt32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.UInt32"/>.</param>
            <returns>A <see cref="T:System.UInt32"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.UInt32)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt32"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt32"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.UInt32"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Int64"/>.</param>
            <returns>A <see cref="T:System.Int64"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Int64)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int64"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int64"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.UInt64">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.UInt64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.UInt64"/>.</param>
            <returns>A <see cref="T:System.UInt64"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.UInt64)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt64"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt64"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.UInt64"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Single">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Single"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Single"/>.</param>
            <returns>A <see cref="T:System.Single"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Single)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Single"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Single"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Single"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(GSF.NativeBinaryValue)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.NativeBinaryValue"/> to <see cref="T:System.Double"/>.
            </summary>
            <param name="value"><see cref="T:GSF.NativeBinaryValue"/> to convert to <see cref="T:System.Double"/>.</param>
            <returns>A <see cref="T:System.Double"/> representation of <see cref="T:GSF.NativeBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.NativeBinaryValue.op_Implicit(System.Double)~GSF.NativeBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Double"/> to <see cref="T:GSF.NativeBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Double"/> to convert to <see cref="T:GSF.NativeBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.NativeBinaryValue"/> representation of <see cref="T:System.Double"/>.</returns>
        </member>
        <member name="T:GSF.Bits">
            <summary>
            Represents bits in a signed or unsigned integer value.
            </summary>
        </member>
        <member name="F:GSF.Bits.Nil">
            <summary>No bits set (0x0000000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit00">
            <summary>Bit 00 (0x0000000000000001)</summary>
        </member>
        <member name="F:GSF.Bits.Bit01">
            <summary>Bit 01 (0x0000000000000002)</summary>
        </member>
        <member name="F:GSF.Bits.Bit02">
            <summary>Bit 02 (0x0000000000000004)</summary>
        </member>
        <member name="F:GSF.Bits.Bit03">
            <summary>Bit 03 (0x0000000000000008)</summary>
        </member>
        <member name="F:GSF.Bits.Bit04">
            <summary>Bit 04 (0x0000000000000010)</summary>
        </member>
        <member name="F:GSF.Bits.Bit05">
            <summary>Bit 05 (0x0000000000000020)</summary>
        </member>
        <member name="F:GSF.Bits.Bit06">
            <summary>Bit 06 (0x0000000000000040)</summary>
        </member>
        <member name="F:GSF.Bits.Bit07">
            <summary>Bit 07 (0x0000000000000080)</summary>
        </member>
        <member name="F:GSF.Bits.Bit08">
            <summary>Bit 08 (0x0000000000000100)</summary>
        </member>
        <member name="F:GSF.Bits.Bit09">
            <summary>Bit 09 (0x0000000000000200)</summary>
        </member>
        <member name="F:GSF.Bits.Bit10">
            <summary>Bit 10 (0x0000000000000400)</summary>
        </member>
        <member name="F:GSF.Bits.Bit11">
            <summary>Bit 11 (0x0000000000000800)</summary>
        </member>
        <member name="F:GSF.Bits.Bit12">
            <summary>Bit 12 (0x0000000000001000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit13">
            <summary>Bit 13 (0x0000000000002000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit14">
            <summary>Bit 14 (0x0000000000004000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit15">
            <summary>Bit 15 (0x0000000000008000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit16">
            <summary>Bit 16 (0x0000000000010000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit17">
            <summary>Bit 17 (0x0000000000020000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit18">
            <summary>Bit 18 (0x0000000000040000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit19">
            <summary>Bit 19 (0x0000000000080000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit20">
            <summary>Bit 20 (0x0000000000100000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit21">
            <summary>Bit 21 (0x0000000000200000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit22">
            <summary>Bit 22 (0x0000000000400000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit23">
            <summary>Bit 23 (0x0000000000800000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit24">
            <summary>Bit 24 (0x0000000001000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit25">
            <summary>Bit 25 (0x0000000002000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit26">
            <summary>Bit 26 (0x0000000004000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit27">
            <summary>Bit 27 (0x0000000008000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit28">
            <summary>Bit 28 (0x0000000010000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit29">
            <summary>Bit 29 (0x0000000020000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit30">
            <summary>Bit 30 (0x0000000040000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit31">
            <summary>Bit 31 (0x0000000080000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit32">
            <summary>Bit 32 (0x0000000100000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit33">
            <summary>Bit 33 (0x0000000200000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit34">
            <summary>Bit 34 (0x0000000400000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit35">
            <summary>Bit 35 (0x0000000800000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit36">
            <summary>Bit 36 (0x0000001000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit37">
            <summary>Bit 37 (0x0000002000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit38">
            <summary>Bit 38 (0x0000004000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit39">
            <summary>Bit 39 (0x0000008000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit40">
            <summary>Bit 40 (0x0000010000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit41">
            <summary>Bit 41 (0x0000020000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit42">
            <summary>Bit 42 (0x0000040000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit43">
            <summary>Bit 43 (0x0000080000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit44">
            <summary>Bit 44 (0x0000100000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit45">
            <summary>Bit 45 (0x0000200000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit46">
            <summary>Bit 46 (0x0000400000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit47">
            <summary>Bit 47 (0x0000800000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit48">
            <summary>Bit 48 (0x0001000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit49">
            <summary>Bit 49 (0x0002000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit50">
            <summary>Bit 50 (0x0004000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit51">
            <summary>Bit 51 (0x0008000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit52">
            <summary>Bit 52 (0x0010000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit53">
            <summary>Bit 53 (0x0020000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit54">
            <summary>Bit 54 (0x0040000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit55">
            <summary>Bit 55 (0x0080000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit56">
            <summary>Bit 56 (0x0100000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit57">
            <summary>Bit 57 (0x0200000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit58">
            <summary>Bit 58 (0x0400000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit59">
            <summary>Bit 59 (0x0800000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit60">
            <summary>Bit 60 (0x1000000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit61">
            <summary>Bit 61 (0x2000000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit62">
            <summary>Bit 62 (0x4000000000000000)</summary>
        </member>
        <member name="F:GSF.Bits.Bit63">
            <summary>Bit 63 (0x8000000000000000)</summary>
        </member>
        <member name="T:GSF.BitExtensions">
            <summary>
            Defines extension methods related to bit operations.
            </summary>
        </member>
        <member name="M:GSF.BitExtensions.BitVal(System.Int32)">
            <summary>
            Gets the bit value for the specified bit index (0 - 63).
            </summary>
            <param name="bit">Bit index (0 - 63)</param>
            <returns>Value of the specified <paramref name="bit"/>.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Parameter must be between 0 and 63.</exception>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.SByte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.SByte,System.SByte)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Byte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Byte,System.Byte)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int16,System.Int16)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt16,System.UInt16)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(GSF.Int24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(GSF.Int24,GSF.Int24)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(GSF.UInt24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int32,System.Int32)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt32,System.UInt32)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.Int64,System.Int64)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to set.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetBits(System.UInt64,System.UInt64)">
            <summary>
            Returns value with specified <paramref name="bits"/> set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to set.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> set.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.SByte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.SByte,System.SByte)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Byte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Byte,System.Byte)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int16,System.Int16)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt16,System.UInt16)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(GSF.Int24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(GSF.Int24,GSF.Int24)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(GSF.UInt24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int32,System.Int32)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt32,System.UInt32)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.Int64,System.Int64)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to clear.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ClearBits(System.UInt64,System.UInt64)">
            <summary>
            Returns value with specified <paramref name="bits"/> cleared.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to clear.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> cleared.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.SByte,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.SByte,System.SByte)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.SByte,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.SByte,System.SByte,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Byte,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Byte,System.Byte)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Byte,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Byte,System.Byte,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int16,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int16,System.Int16)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int16,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int16,System.Int16,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt16,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt16,System.UInt16)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt16,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt16,System.UInt16,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.Int24,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.Int24,GSF.Int24)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.Int24,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.Int24,GSF.Int24,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.UInt24,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.UInt24,GSF.UInt24)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.UInt24,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(GSF.UInt24,GSF.UInt24,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int32,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int32,System.Int32)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int32,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int32,System.Int32,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt32,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt32,System.UInt32)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt32,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt32,System.UInt32,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int64,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int64,System.Int64)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int64,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt64,GSF.Bits)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt64,System.UInt64)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt64,GSF.Bits,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.CheckBits(System.UInt64,System.UInt64,System.Boolean)">
            <summary>
            Determines if specified <paramref name="bits"/> are set.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to check.</param>
            <param name="allBits">true to check if all <paramref name="bits"/> are set; otherwise false.</param>
            <returns>true if specified <paramref name="bits"/> are set in <paramref name="source"/> value; otherwise false.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.SByte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.SByte,System.SByte)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.SByte"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Byte,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Byte,System.Byte)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.Byte"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int16,System.Int16)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.Int16"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt16,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt16,System.UInt16)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.UInt16"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(GSF.Int24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(GSF.Int24,GSF.Int24)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:GSF.Int24"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(GSF.UInt24,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:GSF.UInt24"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int32,System.Int32)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.Int32"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt32,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt32,System.UInt32)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.UInt32"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.Int64,System.Int64)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.Int64"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt64,GSF.Bits)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits"><see cref="T:GSF.Bits"/> to toggle.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.ToggleBits(System.UInt64,System.UInt64)">
            <summary>
            Returns value with specified <paramref name="bits"/> toggled.
            </summary>
            <param name="source">Value source.</param>
            <param name="bits">Bit-mask of the bits to toggle.</param>
            <returns><see cref="T:System.UInt64"/> value with specified <paramref name="bits"/> toggled.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.SByte,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.SByte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.SByte,System.SByte)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.SByte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Byte,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.Byte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Byte,System.Byte)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.Byte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int16,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.Int16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int16,System.Int16)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.Int16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt16,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.UInt16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt16,System.UInt16)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.UInt16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(GSF.Int24,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(GSF.Int24,GSF.Int24)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(GSF.UInt24,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:GSF.UInt24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:GSF.UInt24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int32,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.Int32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int32,System.Int32)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.Int32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt32,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.UInt32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt32,System.UInt32)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.UInt32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int64,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.Int64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.Int64,System.Int64)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.Int64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt64,GSF.Bits)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <returns><see cref="T:System.UInt64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.GetMaskedValue(System.UInt64,System.UInt64)">
            <summary>
            Returns value stored in the bits represented by the specified <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <returns><see cref="T:System.UInt64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.SByte,GSF.Bits,System.SByte)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.SByte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.SByte,System.SByte,System.SByte)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.SByte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Byte,GSF.Bits,System.Byte)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Byte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Byte,System.Byte,System.Byte)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Byte"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int16,GSF.Bits,System.Int16)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int16,System.Int16,System.Int16)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt16,GSF.Bits,System.UInt16)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt16,System.UInt16,System.UInt16)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt16"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(GSF.Int24,GSF.Bits,GSF.Int24)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(GSF.Int24,GSF.Int24,GSF.Int24)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(GSF.UInt24,GSF.Bits,GSF.UInt24)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:GSF.UInt24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(GSF.UInt24,GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:GSF.UInt24"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int32,GSF.Bits,System.Int32)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int32,System.Int32,System.Int32)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt32,GSF.Bits,System.UInt32)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt32,System.UInt32,System.UInt32)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt32"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int64,GSF.Bits,System.Int64)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.Int64,System.Int64,System.Int64)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.Int64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt64,GSF.Bits,System.UInt64)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask"><see cref="T:GSF.Bits"/> that make-up the bit-mask.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.SetMaskedValue(System.UInt64,System.UInt64,System.UInt64)">
            <summary>
            Returns value after setting a new <paramref name="value"/> for the bits specified by the <paramref name="bitmask"/>.
            </summary>
            <param name="source">Value source.</param>
            <param name="bitmask">Bit-mask of the bits involved.</param>
            <param name="value">New value.</param>
            <returns><see cref="T:System.UInt64"/> value.</returns>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.Byte,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.SByte,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.Int16,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.UInt16,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(GSF.Int24,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(GSF.UInt24,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.Int32,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.UInt32,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.Int64,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotL(System.UInt64,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate right on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.Byte,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.SByte,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.Int16,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.UInt16,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(GSF.Int24,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(GSF.UInt24,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.Int32,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.UInt32,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.Int64,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="M:GSF.BitExtensions.BitRotR(System.UInt64,System.Int32)">
            <summary>
            Performs rightwise bit-rotation for the specified number of rotations.
            </summary>
            <param name="value">Value used for bit-rotation.</param>
            <param name="rotations">Number of rotations to perform.</param>
            <returns>Value that has its bits rotated to the right the specified number of times.</returns>
            <remarks>
            Actual rotation direction is from a big-endian perspective - this is an artifact of the native
            .NET bit shift operators. As a result bits may actually appear to rotate left on little-endian
            architectures.
            </remarks>
        </member>
        <member name="T:GSF.BitwiseCast">
            <summary>Defines specialized bitwise integer data type conversion functions</summary>
            <remarks>
            This class allows for proper bitwise casting between signed and unsigned integers. It may be most
            useful in languages that do not allow override of numerical overflow checks.  For example, C#
            provides an "unchecked" keyword to allow for bitwise casting, but VB.NET does not.
            </remarks>
        </member>
        <member name="M:GSF.BitwiseCast.ToInt16(System.UInt16)">
            <summary>Performs proper bitwise conversion between unsigned and signed value</summary>
            <remarks>
            <para>This function is useful because Convert.ToInt16 will throw an OverflowException for values greater than Int16.MaxValue.</para>
            <para>For example, this function correctly converts unsigned 16-bit integer 65535 (i.e., UInt16.MaxValue) to signed 16-bit integer -1.</para>
            </remarks>
            <param name="unsignedInt">Unsigned short that is passed in to be converted to a signed short.</param>
            <returns>The converted short value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToInt24(GSF.UInt24)">
            <summary>Performs proper bitwise conversion between unsigned and signed value</summary>
            <remarks>
            <para>This function is useful because CType(n, Int24) will throw an OverflowException for values greater than Int24.MaxValue.</para>
            <para>For example, this function correctly converts unsigned 24-bit integer 16777215 (i.e., UInt24.MaxValue) to signed 24-bit integer -1.</para>
            </remarks>
            <param name="unsignedInt">Unsigned UInt24 that is passed in to be converted to a signed Int24.</param>
            <returns>The Int24 value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToInt32(System.UInt32)">
            <summary>Performs proper bitwise conversion between unsigned and signed value</summary>
            <remarks>
            <para>This function is useful because Convert.ToInt32 will throw an OverflowException for values greater than Int32.MaxValue.</para>
            <para>For example, this function correctly converts unsigned 32-bit integer 4294967295 (i.e., UInt32.MaxValue) to signed 32-bit integer -1.</para>
            </remarks>
            <param name="unsignedInt">Unsigned integer that is passed in to be converted to a signed Int32.</param>
            <returns>The int value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToInt64(System.UInt64)">
            <summary>Performs proper bitwise conversion between unsigned and signed value</summary>
            <remarks>
            <para>This function is useful because Convert.ToInt64 will throw an OverflowException for values greater than Int64.MaxValue.</para>
            <para>For example, this function correctly converts unsigned 64-bit integer 18446744073709551615 (i.e., UInt64.MaxValue) to signed 64-bit integer -1.</para>
            </remarks>
            <param name="unsignedInt">Unsigned integer that is passed in to be converted to a long.</param>
            <returns>The long value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToUInt16(System.Int16)">
            <summary>Performs proper bitwise conversion between signed and unsigned value</summary>
            <remarks>
            <para>This function is useful because Convert.ToUInt16 will throw an OverflowException for values less than zero.</para>
            <para>For example, this function correctly converts signed 16-bit integer -32768 (i.e., Int16.MinValue) to unsigned 16-bit integer 32768.</para>
            </remarks>
            <param name="signedInt">Signed integer that is passed in to be converted to an unsigned short.</param>
            <returns>The unsigned short value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToUInt24(GSF.Int24)">
            <summary>Performs proper bitwise conversion between signed and unsigned value</summary>
            <remarks>
            <para>This function is useful because CType(n, UInt24) will throw an OverflowException for values less than zero.</para>
            <para>For example, this function correctly converts signed 24-bit integer -8388608 (i.e., Int24.MinValue) to unsigned 24-bit integer 8388608.</para>
            </remarks>
            <param name="signedInt">Signed integer that is passed in to be converted to an unsigned integer.</param>
            <returns>The unsigned integer value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToUInt32(System.Int32)">
            <summary>Performs proper bitwise conversion between signed and unsigned value</summary>
            <remarks>
            <para>This function is useful because Convert.ToUInt32 will throw an OverflowException for values less than zero.</para>
            <para>For example, this function correctly converts signed 32-bit integer -2147483648 (i.e., Int32.MinValue) to unsigned 32-bit integer 2147483648.</para>
            </remarks>
            <param name="signedInt">Signed integer that is passed in to be converted to an unsigned integer.</param>
            <returns>The unsigned integer value.</returns>
        </member>
        <member name="M:GSF.BitwiseCast.ToUInt64(System.Int64)">
            <summary>Performs proper bitwise conversion between signed and unsigned value</summary>
            <remarks>
            <para>This function is useful because Convert.ToUInt64 will throw an OverflowException for values less than zero.</para>
            <para>For example, this function correctly converts signed 64-bit integer -9223372036854775808 (i.e., Int64.MinValue) to unsigned 64-bit integer 9223372036854775808.</para>
            </remarks>
            <param name="signedInt">Signed integer that is passed in to be converted to an unsigned long.</param>
            <returns>The unsigned long value.</returns>
        </member>
        <member name="T:GSF.ArrayExtensions">
            <summary>
            Defines extension functions related to <see cref="T:System.Array"/> manipulation.
            </summary>
        </member>
        <member name="M:GSF.ArrayExtensions.ValidateParameters``1(``0[],System.Int32,System.Int32)">
            <summary>
            Validates that the specified <paramref name="startIndex"/> and <paramref name="length"/> are valid within the given <paramref name="array"/>.
            </summary>
            <param name="array">Array to validate.</param>
            <param name="startIndex">0-based start index into the <paramref name="array"/>.</param>
            <param name="length">Valid number of items within <paramref name="array"/> from <paramref name="startIndex"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="array"/> length.
            </exception>
        </member>
        <member name="M:GSF.ArrayExtensions.BlockCopy``1(``0[],System.Int32,System.Int32)">
            <summary>
            Returns a copy of the specified portion of the <paramref name="array"/> array.
            </summary>
            <param name="array">Source array.</param>
            <param name="startIndex">Offset into <paramref name="array"/> array.</param>
            <param name="length">Length of <paramref name="array"/> array to copy at <paramref name="startIndex"/> offset.</param>
            <returns>A array of data copied from the specified portion of the source array.</returns>
            <remarks>
            <para>
            Returned array will be extended as needed to make it the specified <paramref name="length"/>, but
            it will never be less than the source array length - <paramref name="startIndex"/>.
            </para>
            <para>
            This is a convenience function. If an existing array is already available, using the <see cref="M:System.Buffer.BlockCopy(System.Array,System.Int32,System.Array,System.Int32,System.Int32)"/>
            directly instead of this extension method will be optimal since this method always allocates a new return array.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of valid indexes for the source array -or-
            <paramref name="length"/> is less than 0.
            </exception>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[],``0[])">
            <summary>
            Combines arrays together into a single array.
            </summary>
            <param name="source">Source array.</param>
            <param name="other">Other array to combine to <paramref name="source"/> array.</param>
            <returns>Combined arrays.</returns>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[],System.Int32,System.Int32,``0[],System.Int32,System.Int32)">
            <summary>
            Combines specified portions of arrays together into a single array.
            </summary>
            <param name="source">Source array.</param>
            <param name="sourceOffset">Offset into <paramref name="source"/> array to begin copy.</param>
            <param name="sourceCount">Number of bytes to copy from <paramref name="source"/> array.</param>
            <param name="other">Other array to combine to <paramref name="source"/> array.</param>
            <param name="otherOffset">Offset into <paramref name="other"/> array to begin copy.</param>
            <param name="otherCount">Number of bytes to copy from <paramref name="other"/> array.</param>
            <returns>Combined specified portions of both arrays.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="sourceOffset"/> or <paramref name="otherOffset"/> is outside the range of valid indexes for the associated array -or-
            <paramref name="sourceCount"/> or <paramref name="otherCount"/> is less than 0 -or- 
            <paramref name="sourceOffset"/> or <paramref name="otherOffset"/>, 
            and <paramref name="sourceCount"/> or <paramref name="otherCount"/> do not specify a valid section in the the associated array.
            </exception>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[],``0[],``0[])">
            <summary>
            Combines arrays together into a single array.
            </summary>
            <param name="source">Source array.</param>
            <param name="other1">First array to combine to <paramref name="source"/> array.</param>
            <param name="other2">Second array to combine to <paramref name="source"/> array.</param>
            <returns>Combined arrays.</returns>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[],``0[],``0[],``0[])">
            <summary>
            Combines arrays together into a single array.
            </summary>
            <param name="source">Source array.</param>
            <param name="other1">First array to combine to <paramref name="source"/> array.</param>
            <param name="other2">Second array to combine to <paramref name="source"/> array.</param>
            <param name="other3">Third array to combine to <paramref name="source"/> array.</param>
            <returns>Combined arrays.</returns>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[],``0[],``0[],``0[],``0[])">
            <summary>
            Combines arrays together into a single array.
            </summary>
            <param name="source">Source array.</param>
            <param name="other1">First array to combine to <paramref name="source"/> array.</param>
            <param name="other2">Second array to combine to <paramref name="source"/> array.</param>
            <param name="other3">Third array to combine to <paramref name="source"/> array.</param>
            <param name="other4">Fourth array to combine to <paramref name="source"/> array.</param>
            <returns>Combined arrays.</returns>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine``1(``0[][])">
            <summary>
            Combines array of arrays together into a single array.
            </summary>
            <param name="arrays">Array of arrays to combine.</param>
            <returns>Combined arrays.</returns>
            <remarks>
            <para>
            Only use this function if you need a copy of the combined arrays, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined arrays.
            </para>
            <para>
            This function can easily throw an out of memory exception if there is not enough
            contiguous memory to create an array sized with the combined lengths.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.IndexOfSequence``1(``0[],``0[])">
            <summary>
            Searches for the specified <paramref name="sequenceToFind"/> and returns the index of the first occurrence within the <paramref name="array"/>.
            </summary>
            <param name="array">Array to search.</param>
            <param name="sequenceToFind">Sequence of items to search for.</param>
            <returns>The zero-based index of the first occurrence of the <paramref name="sequenceToFind"/> in the <paramref name="array"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.ArrayExtensions.IndexOfSequence``1(``0[],``0[],System.Int32)">
            <summary>
            Searches for the specified <paramref name="sequenceToFind"/> and returns the index of the first occurrence within the range of elements in the <paramref name="array"/>
            that starts at the specified index.
            </summary>
            <param name="array">Array to search.</param>
            <param name="sequenceToFind">Sequence of items to search for.</param>
            <param name="startIndex">Start index in the <paramref name="array"/> to start searching.</param>
            <returns>The zero-based index of the first occurrence of the <paramref name="sequenceToFind"/> in the <paramref name="array"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.ArrayExtensions.IndexOfSequence``1(``0[],``0[],System.Int32,System.Int32)">
            <summary>
            Searches for the specified <paramref name="sequenceToFind"/> and returns the index of the first occurrence within the range of elements in the <paramref name="array"/>
            that starts at the specified index and contains the specified number of elements.
            </summary>
            <param name="array">Array to search.</param>
            <param name="sequenceToFind">Sequence of items to search for.</param>
            <param name="startIndex">Start index in the <paramref name="array"/> to start searching.</param>
            <param name="length">Number of bytes in the <paramref name="array"/> to search through.</param>
            <returns>The zero-based index of the first occurrence of the <paramref name="sequenceToFind"/> in the <paramref name="array"/>, if found; otherwise, -1.</returns>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="sequenceToFind"/> is null or has zero length.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of valid indexes for the source array -or-
            <paramref name="length"/> is less than 0.
            </exception>
        </member>
        <member name="M:GSF.ArrayExtensions.CompareTo``1(``0[],``0[])">
            <summary>Returns comparison results of two binary arrays.</summary>
            <param name="source">Source array.</param>
            <param name="other">Other array to compare to <paramref name="source"/> array.</param>
            <returns>
            <para>
            A signed integer that indicates the relative comparison of <paramref name="source"/> array and <paramref name="other"/> array.
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Return Value</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term>Less than zero</term>
                    <description>Source array is less than other array.</description>
                </item>
                <item>
                    <term>Zero</term>
                    <description>Source array is equal to other array.</description>
                </item>
                <item>
                    <term>Greater than zero</term>
                    <description>Source array is greater than other array.</description>
                </item>
            </list>
            </para>
            </returns>
        </member>
        <member name="M:GSF.ArrayExtensions.CompareTo``1(``0[],System.Int32,``0[],System.Int32,System.Int32)">
            <summary>
            Returns comparison results of two binary arrays.
            </summary>
            <param name="source">Source array.</param>
            <param name="sourceOffset">Offset into <paramref name="source"/> array to begin compare.</param>
            <param name="other">Other array to compare to <paramref name="source"/> array.</param>
            <param name="otherOffset">Offset into <paramref name="other"/> array to begin compare.</param>
            <param name="count">Number of bytes to compare in both arrays.</param>
            <returns>
            <para>
            A signed integer that indicates the relative comparison of <paramref name="source"/> array and <paramref name="other"/> array.
            </para>
            <para>
            <list type="table">
                <listheader>
                    <term>Return Value</term>
                    <description>Description</description>
                </listheader>
                <item>
                    <term>Less than zero</term>
                    <description>Source array is less than other array.</description>
                </item>
                <item>
                    <term>Zero</term>
                    <description>Source array is equal to other array.</description>
                </item>
                <item>
                    <term>Greater than zero</term>
                    <description>Source array is greater than other array.</description>
                </item>
            </list>
            </para>
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="sourceOffset"/> or <paramref name="otherOffset"/> is outside the range of valid indexes for the associated array -or-
            <paramref name="count"/> is less than 0 -or- 
            <paramref name="sourceOffset"/> or <paramref name="otherOffset"/> and <paramref name="count"/> do not specify a valid section in the the associated array.
            </exception>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine(System.Byte[],System.Byte[],System.Byte[])">
            <summary>
            Combines buffers together as a single image.
            </summary>
            <param name="source">Source buffer.</param>
            <param name="other1">First buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other2">Second buffer to combine to <paramref name="source"/> buffer.</param>
            <returns>Combined buffers.</returns>
            <exception cref="T:System.InvalidOperationException">Cannot create a byte array with more than 2,147,483,591 elements.</exception>
            <remarks>
            Only use this function if you need a copy of the combined buffers, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined buffers.
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine(System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
            <summary>
            Combines buffers together as a single image.
            </summary>
            <param name="source">Source buffer.</param>
            <param name="other1">First buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other2">Second buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other3">Third buffer to combine to <paramref name="source"/> buffer.</param>
            <returns>Combined buffers.</returns>
            <exception cref="T:System.InvalidOperationException">Cannot create a byte array with more than 2,147,483,591 elements.</exception>
            <remarks>
            Only use this function if you need a copy of the combined buffers, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined buffers.
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine(System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[])">
            <summary>
            Combines buffers together as a single image.
            </summary>
            <param name="source">Source buffer.</param>
            <param name="other1">First buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other2">Second buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other3">Third buffer to combine to <paramref name="source"/> buffer.</param>
            <param name="other4">Fourth buffer to combine to <paramref name="source"/> buffer.</param>
            <returns>Combined buffers.</returns>
            <exception cref="T:System.InvalidOperationException">Cannot create a byte array with more than 2,147,483,591 elements.</exception>
            <remarks>
            Only use this function if you need a copy of the combined buffers, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined buffers.
            </remarks>
        </member>
        <member name="M:GSF.ArrayExtensions.Combine(System.Byte[][])">
            <summary>
            Combines an array of buffers together as a single image.
            </summary>
            <param name="buffers">Array of byte buffers.</param>
            <returns>Combined buffers.</returns>
            <exception cref="T:System.InvalidOperationException">Cannot create a byte array with more than 2,147,483,591 elements.</exception>
            <remarks>
            Only use this function if you need a copy of the combined buffers, it will be optimal
            to use the Linq function <see cref="M:System.Linq.Enumerable.Concat``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IEnumerable{``0})"/> if you simply need to
            iterate over the combined buffers.
            </remarks>
        </member>
        <member name="T:GSF.ByteEncoding">
            <summary>
            Defines a set of methods used to convert byte buffers to and from user presentable data formats.
            </summary>
        </member>
        <member name="F:GSF.ByteEncoding.NoSpacing">
            <summary>
            Constant used to specify that "no spacing" should be used for data conversion.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.GetString(System.Byte[])">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <returns>String representation of byte array.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.GetString(System.Byte[],System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.GetString(System.Byte[],System.Int32,System.Int32)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.GetBytes(System.String)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="value">Encoded string to decode.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="value">Encoded string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes</returns>
        </member>
        <member name="M:GSF.ByteEncoding.BytesToString(System.Byte[],System.Int32,System.Int32,System.Char,System.String)">
            <summary>Handles byte to string conversions for implementations that are available from Byte.ToString.</summary>
            <param name="bytes">Encoded string to decode.</param>
            <param name="offset">Offset into byte array to begin decoding straing at.</param>
            <param name="length">Number of bytes to decode starting at <paramref name="offset"/></param>
            <param name="spacingCharacter">Character to insert between each byte</param>
            <param name="format">String decoding format.</param>
            <returns>Decoded string</returns>
        </member>
        <member name="P:GSF.ByteEncoding.Hexadecimal">
            <summary>Handles encoding and decoding of a byte buffer into a hexadecimal-based presentation format.</summary>
        </member>
        <member name="P:GSF.ByteEncoding.Decimal">
            <summary>Handles encoding and decoding of a byte buffer into an integer-based presentation format.</summary>
        </member>
        <member name="P:GSF.ByteEncoding.BigEndianBinary">
            <summary>Handles encoding and decoding of a byte buffer into a big-endian binary (i.e., 0 and 1's) based
            presentation format.</summary>
            <remarks>
            Although endianness is typically used in the context of byte order (see <see cref="T:GSF.EndianOrder"/> to handle byte
            order swapping), this property allows you visualize "bits" in big-endian order, right-to-left. Note that bits are
            normally stored in the same order as their bytes.).
            </remarks>
        </member>
        <member name="P:GSF.ByteEncoding.LittleEndianBinary">
            <summary>Handles encoding and decoding of a byte buffer into a little-endian binary (i.e., 0 and 1's) based
            presentation format.</summary>
            <remarks>
            Although endianness is typically used in the context of byte order (see <see cref="T:GSF.EndianOrder"/> to handle byte
            order swapping), this property allows you visualize "bits" in little-endian order, left-to-right. Note that bits are
            normally stored in the same order as their bytes.
            </remarks>
        </member>
        <member name="P:GSF.ByteEncoding.Base64">
            <summary>Handles encoding and decoding of a byte buffer into a base64 presentation format.</summary>
        </member>
        <member name="P:GSF.ByteEncoding.ASCII">
            <summary>Handles encoding and decoding of a byte buffer into an ASCII character presentation format.</summary>
        </member>
        <member name="T:GSF.ByteEncoding.HexadecimalEncoding">
            <summary>
            Handles conversion of byte buffers to and from a hexadecimal data format.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.HexadecimalEncoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="hexData">Encoded hexadecimal data string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.HexadecimalEncoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="T:GSF.ByteEncoding.DecimalEncoding">
            <summary>
            Handles conversion of byte buffers to and from a decimal data format.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.DecimalEncoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="decData">Encoded decimal data string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.DecimalEncoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="T:GSF.ByteEncoding.BinaryEncoding">
            <summary>
            Handles conversion of byte buffers to and from a binary (i.e., 0 and 1's) data format.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.BinaryEncoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="binaryData">Encoded binary data string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.BinaryEncoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="T:GSF.ByteEncoding.Base64Encoding">
            <summary>
            Handles conversion of byte buffers to and from a base64 data format.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.Base64Encoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="binaryData">Encoded binary data string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.Base64Encoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="T:GSF.ByteEncoding.ASCIIEncoding">
            <summary>
            Handles conversion of byte buffers to and from a ASCII data format.
            </summary>
        </member>
        <member name="M:GSF.ByteEncoding.ASCIIEncoding.GetBytes(System.String,System.Char)">
            <summary>Decodes given string back into a byte buffer.</summary>
            <param name="binaryData">Encoded binary data string to decode.</param>
            <param name="spacingCharacter">Original spacing character that was inserted between encoded bytes.</param>
            <returns>Decoded bytes.</returns>
        </member>
        <member name="M:GSF.ByteEncoding.ASCIIEncoding.GetString(System.Byte[],System.Int32,System.Int32,System.Char)">
            <summary>Encodes given buffer into a user presentable representation.</summary>
            <param name="bytes">Bytes to encode.</param>
            <param name="offset">Offset into buffer to begin encoding.</param>
            <param name="length">Length of buffer to encode.</param>
            <param name="spacingCharacter">Spacing character to place between encoded bytes.</param>
            <returns>String of encoded bytes.</returns>
        </member>
        <member name="T:GSF.CharExtensions">
            <summary>
            Defines extension functions related to character manipulation.
            </summary>
        </member>
        <member name="M:GSF.CharExtensions.RegexEncode(System.Char)">
            <summary>
            Encodes the specified Unicode character in proper Regular Expression format.
            </summary>
            <param name="item">Unicode character to encode in Regular Expression format.</param>
            <returns>Specified Unicode character in proper Regular Expression format.</returns>
        </member>
        <member name="M:GSF.CharExtensions.IsWordTerminator(System.Char)">
            <summary>
            Tests a character to determine if it marks the end of a typical English word.
            </summary>
            <param name="value">Input character to check.</param>
            <returns><c>true</c> if character is a work separator.</returns>
            <remarks>
            Performs no testing for ASCII codes &gt; 127.<br/>
            Does not separate words based on punctuation of ' %  - _  <br/>
            However does include the angle bracket symbols &lt; &gt; as separators<br/>
            <br/>
            For reference the standard char tests are:
            <ul>
            <li>"IsSperator (1) == simple space (32 or 160) only.</li>
            <li>IsPunctuation (23) == . , ! ? : ; " ' [ ] { } ( ) \ / @ % # * &amp; - _  (plus other char's &gt; 127)</li>
            <li>IsSymbol (8) == $ + &lt; &gt; = ^ ` ~</li>
            <li>IsWhiteSpace (6) == control char's 9 thru 13, plus 32 -- TAB, LF, VT, FF, CR, SP</li>
            </ul>
            </remarks>
        </member>
        <member name="M:GSF.CharExtensions.IsNumeric(System.Char)">
            <summary>
            Tests a character to determine if is a common part of a numeric string (digits or one of "+ - , .")
            </summary>
            <param name="value">The character to check.</param>
            <returns><c>true</c> if numeric character.</returns>
        </member>
        <member name="M:GSF.CharExtensions.IsAnyOf(System.Char,System.Collections.Generic.IEnumerable{System.Char})">
            <summary>
            Determines if a character matches any character in a sent array.
            </summary>
            <param name="value">The character to check.</param>
            <param name="testChars">The array of characters to test.</param>
            <returns>Boolean value indicating a that the character is in the array.</returns>
        </member>
        <member name="M:GSF.CharExtensions.IsInRange(System.Char,System.Char,System.Char)">
            <summary>
            Tests a character to determine if it is between a specified character range
            </summary>
            <param name="value">Input character to process.</param>
            <param name="startOfRange">Beginning of range character.</param>
            <param name="endOfRange">End of range character.</param>
            <returns><c>true</c> is the character is within the range.</returns>
        </member>
        <member name="T:GSF.Collections.DoubleBufferedQueueProducer`1">
            <summary>
            A producer for a <see cref="T:GSF.Collections.DoubleBufferedQueue`1"/> which can
            only be used to provide items to the queue for consumption.
            </summary>
            <typeparam name="T">The type of the items produced to the queue.</typeparam>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueProducer`1.#ctor(GSF.Collections.DoubleBufferedQueueManager{`0},GSF.Collections.DoubleBufferedQueue{`0})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/> class.
            </summary>
            <param name="manager">The <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> that created this producer.</param>
            <param name="queue">The <see cref="T:GSF.Collections.DoubleBufferedQueue`1"/> that this producer will be producing to.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueProducer`1.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueProducer`1.Produce(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Produces a collection of items to be processed by the consumer.
            </summary>
            <param name="items">The collection of items to be enqueued.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueProducer`1.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/> object.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueProducer`1.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="T:GSF.Collections.DoubleBufferedQueueManager`1">
            <summary>
            Manages queues to reduce contention for a multithreaded, multiple-producer, single-consumer scenario.
            </summary>
            <remarks>
            For best results, each thread that is producing items to the consumer should call
            <see cref="M:GSF.Collections.DoubleBufferedQueueManager`1.GetProducer"/> to receive a producer object that will not contend with
            any other producer. The consumer should either provide a handler to process the queued
            items or poll the manager by calling <see cref="M:GSF.Collections.DoubleBufferedQueueManager`1.Dequeue"/> (not both!). It is not
            safe to use this class with multiple consumer threads.
            </remarks>
            <typeparam name="T">The types of items to be queued.</typeparam>
            <remarks>
            It is not safe to use this class with multiple consumer threads.
            The list returned by <see cref="M:GSF.Collections.DoubleBufferedQueueManager`1.Dequeue"/> is not thread-safe and
            is reused on each Dequeue operation, so no other thread should
            access the list while another thread is calling Dequeue.
            </remarks>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.#ctor(System.Action)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> class.
            </summary>
            <param name="itemHandler">The method to handle processing of queued items.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.#ctor(System.Action{System.Collections.Generic.IList{`0}})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> class.
            </summary>
            <param name="itemHandler">The method to handle processing of queued items.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.#ctor(System.Action,System.Action{System.Exception})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> class.
            </summary>
            <param name="itemHandler">The method to handle processing of queued items.</param>
            <param name="exceptionHandler">The method to handle exceptions that occur when processing items.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.#ctor(System.Action{System.Collections.Generic.IList{`0}},System.Action{System.Exception})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/> class.
            </summary>
            <param name="itemHandler">The method to handle processing of queued items.</param>
            <param name="exceptionHandler">The method to handle exceptions that occur when processing items.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.GetProducer">
            <summary>
            Creates a producer used to produce items to the consumer of this <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/>.
            </summary>
            <returns>A <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/> used to produce items to the consumer.</returns>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.Dequeue">
            <summary>
            Dequeues a list of items produced by the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/>s.
            </summary>
            <returns>A list of items to be consumed.</returns>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.SignalItemHandler">
            <summary>
            Runs the operation to process items produced by the <see cref="T:GSF.Collections.DoubleBufferedQueueProducer`1"/>s.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueueManager`1.ReturnQueue(GSF.Collections.DoubleBufferedQueue{`0})">
            <summary>
            Returns a queue to the <see cref="T:GSF.Collections.DoubleBufferedQueueManager`1"/>
            so that it can be removed from the list of queues to be consumed.
            </summary>
            <param name="queue">The queue to be returned.</param>
        </member>
        <member name="P:GSF.Collections.DoubleBufferedQueueManager`1.ItemsLeft">
            <summary>
            Gets a flag that indicates whether there are any items left to
            be consumed after the last call to <see cref="M:GSF.Collections.DoubleBufferedQueueManager`1.Dequeue"/>.
            </summary>
        </member>
        <member name="T:GSF.Collections.IsolatedQueue`1">
            <summary>
            Provides a buffer of point data where reads are isolated from writes.
            However, reads must be synchronized with other reads and writes must be synchronized with other writes.
            </summary>
            <remarks>
            This class is about twice as fast as a ConcurrentQueue. However, it has some decent overhead, so 
            small lists may not make much sense.
            
            This also uses jagged arrays, and will automatically deallocate memory so is useful for 
            structures that vary in size with time. 
            </remarks>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.#ctor">
            <summary>
            Creates an <see cref="T:GSF.Collections.IsolatedQueue`1"/>
            </summary>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.Enqueue(`0)">
            <summary>
            Addes the provided item to the <see cref="T:GSF.Collections.IsolatedQueue`1"/>.
            </summary>
            <param name="item"></param>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.TryDequeue(`0@)">
            <summary>
            Attempts to dequeue the specified item from the <see cref="T:GSF.Collections.IsolatedQueue`1"/>
            </summary>
            <param name="item">an output for the item</param>
            <returns></returns>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.Dequeue(`0[],System.Int32,System.Int32)">
            <summary>
            Dequeues all of the items into the provided array
            </summary>
            <param name="items">where to put the items</param>
            <param name="startingIndex">the starting index</param>
            <param name="length">the maximum number of times to store</param>
            <returns>the number of items dequeued</returns>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.GetNode">
            <summary>
            Removes a node from the pool. If one does not exist, one is created.
            </summary>
            <returns></returns>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.ReleaseNode(GSF.Collections.IsolatedQueue{`0}.IsolatedNode)">
            <summary>
            Addes an item back to the queue.
            </summary>
            <param name="resource"></param>
        </member>
        <member name="P:GSF.Collections.IsolatedQueue`1.Count">
            <summary>
            The number of elements in the queue
            </summary>
        </member>
        <member name="T:GSF.Collections.IsolatedQueue`1.IsolatedNode">
            <summary>
            Represents an individual node that allows for items to be added and removed from the 
            queue independently and without locks. 
            </summary>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.IsolatedNode.#ctor(System.Int32)">
            <summary>
            Creates a <see cref="T:GSF.Collections.IsolatedQueue`1.IsolatedNode"/>
            </summary>
            <param name="count">the number of items in each node.</param>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.IsolatedNode.Reset">
            <summary>
            Resets the queue. This operation must be synchronized external 
            from this class with the read and write operations. Therefore it 
            is only recommended to call this once the item has been returned to a 
            buffer pool of some sorts.
            </summary>
        </member>
        <member name="M:GSF.Collections.IsolatedQueue`1.IsolatedNode.Enqueue(`0)">
            <summary>
            Adds the following item to the queue. Be sure to check if it is full first.
            </summary>
            <param name="item"></param>
        </member>
        <member name="P:GSF.Collections.IsolatedQueue`1.IsolatedNode.DequeueMustMoveToNextNode">
            <summary>
            Gets if the current node is out of entries.
            </summary>
        </member>
        <member name="P:GSF.Collections.IsolatedQueue`1.IsolatedNode.CanDequeue">
            <summary>
            Gets if there are items that can be dequeued
            </summary>
        </member>
        <member name="P:GSF.Collections.IsolatedQueue`1.IsolatedNode.CanEnqueue">
            <summary>
            Gets if this list can be enqueued
            </summary>
        </member>
        <member name="T:GSF.Collections.ListCollection`1">
            <summary>
            A faster and functionally equivalent implementation of <see cref="T:System.Collections.ObjectModel.Collection`1"/> 
            </summary>
            <typeparam name="T">The type of the element in the collection</typeparam>
            <remarks>
            <para>
            <see cref="T:System.Collections.ObjectModel.Collection`1"/> is based upon an <see cref="T:System.Collections.Generic.IList`1"/>. This means any simple call
            to the class is a function call that cannot be in-lined. This implementation forces the underlying
            item to be <see cref="T:System.Collections.Generic.List`1"/> and shadows many of the methods to call <see cref="T:System.Collections.Generic.List`1"/> 
            instead of <see cref="T:System.Collections.Generic.IList`1"/>. 
            </para>
            <para>
            Since this class references the same underlying <see cref="T:System.Collections.Generic.List`1"/> object, it can be 
            successfully implemented as a <see cref="T:GSF.Collections.ListCollection`1"/> or casted it its underlying type
            <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </para>
            <para>
            Profiling this class yield a ForEach loop and For loop that executes between 
            2-4 times faster than <see cref="T:System.Collections.ObjectModel.Collection`1"/>. This depends on the number of items in the
            list. The fewer the faster. Other operations such as Add/Insert/Remove are closer to 50% faster.
            Count is now in-lined (~20 times faster).
            </para>
            <para>
            This performance is negated if accessing this class via the IList interface. When possible, use
            only strongly typed names.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.#ctor(System.Collections.Generic.List{`0})">
            <summary>
            Creates a <see cref="T:GSF.Collections.ListCollection`1"/>
            </summary>
            <param name="list">a list to wrap this class around.</param>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.#ctor">
            <summary>
            Creates a <see cref="T:GSF.Collections.ListCollection`1"/>
            </summary>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.Add(`0)">
            <summary>
            Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.Clear">
            <summary>
            Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.ClearItems">
            <summary>
            Removes all elements from the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
            </summary>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
            </returns>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. 
            The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="index">The zero-based index in <paramref name="array"/> at which copying begins.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException">The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="index"/> to the end of the destination <paramref name="array"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerator`1"/> for the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </returns>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>.
            </summary>
            <returns>
            The index of <paramref name="item"/> if found in the list; otherwise, -1.
            </returns>
            <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.Insert(System.Int32,`0)">
            <summary>
            Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.InsertItem(System.Int32,`0)">
            <summary>
            Inserts an element into the <see cref="T:System.Collections.ObjectModel.Collection`1"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
            <param name="item">The object to insert. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <returns>
            true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </returns>
            <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.RemoveAt(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.RemoveItem(System.Int32)">
            <summary>
            Removes the element at the specified index of the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <param name="index">The zero-based index of the element to remove.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is equal to or greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.</exception>
        </member>
        <member name="M:GSF.Collections.ListCollection`1.SetItem(System.Int32,`0)">
            <summary>
            Replaces the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to replace.</param>
            <param name="item">The new value for the element at the specified index. The value can be null for reference types.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is less than zero.-or-<paramref name="index"/> is greater than <see cref="P:System.Collections.ObjectModel.Collection`1.Count"/>.</exception>
        </member>
        <member name="P:GSF.Collections.ListCollection`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
            </returns>
        </member>
        <member name="P:GSF.Collections.ListCollection`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
            <exception cref="T:System.NotSupportedException">The property is set and the <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
        </member>
        <member name="P:GSF.Collections.ListCollection`1.Items">
            <summary>
            Gets a <see cref="T:System.Collections.Generic.IList`1"/> wrapper around the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IList`1"/> wrapper around the <see cref="T:System.Collections.ObjectModel.Collection`1"/>.
            </returns>
        </member>
        <member name="T:GSF.Collections.PriorityQueue`1">
            <summary>
            Represents a queue of items to which priority can be assigned.
            </summary>
            <typeparam name="T">The type of the items stored in the queue.</typeparam>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.PriorityQueue`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.#ctor(System.Int32)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.PriorityQueue`1"/> class.
            </summary>
            <param name="capacity">The initial size of the underlying array.</param>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Enqueue(System.Int32,`0)">
            <summary>
            Enqueues an item into the queue.
            </summary>
            <param name="priority">The priority of the item.</param>
            <param name="item">The item to be enqueued.</param>
            <remarks>
            After adding an item to the queue, the heap will need to be fixed,
            therefore this is an O(log n) operation.
            </remarks>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Dequeue">
            <summary>
            Gets the item with the highest priority and removes it from the queue.
            </summary>
            <returns>The item with the highest priority.</returns>
            <remarks>
            After removing an item from the queue, the heap will need to be fixed,
            therefore this is an O(log n) operation.
            </remarks>
            <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Peek">
            <summary>
            Gets the item with the highest priority.
            </summary>
            <returns>The item with the highest priority.</returns>
            <exception cref="T:System.InvalidOperationException">The queue is empty.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.GetPriority(System.Int32)">
            <summary>
            Gets the priority of the item at the given index.
            </summary>
            <param name="index">The index of the item.</param>
            <returns>The priority of the item.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">Index does not fall within the bounds of the queue.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.SetPriority(System.Int32,System.Int32)">
            <summary>
            Sets the priority of the item at the given index.
            </summary>
            <param name="index">The index of the item.</param>
            <param name="priority">The new priority of the item.</param>
            <remarks>
            This method can be used to change the priority of the item
            at the given index. After setting the priority, the queue
            will have to fix the heap so this is an O(log n) operation.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">Index does not fall within the bounds of the queue.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.AdjustPriority(System.Int32)">
            <summary>
            Adds the given value to the priority of all values in the priority queue.
            </summary>
            <param name="delta">The amount by which to adjust priorities.</param>
            <remarks>
            This allows for adjusting the priorities of all items in the heap without
            having to fix the heap each time a priority is changed. This can be useful
            to increase the priorities of items that have been in the queue for significant
            periods of time to prevent starvation. This is an O(n) operation.
            </remarks>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
            <remarks>
            The enumerator performs an in-order traversal of the heap, so the caller should
            expect that items will be iterated in no particular order. Any operations that
            would modify the collection during iteration will cause the enumerator to throw
            an <see cref="T:System.InvalidOperationException"/>.
            </remarks>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Contains(`0)">
            <summary>
            Determines whether the <see cref="T:GSF.Collections.PriorityQueue`1"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.</param>
            <returns>
            true if <paramref name="item"/> is found in the <see cref="T:GSF.Collections.PriorityQueue`1"/>; otherwise, false.
            </returns>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.IndexOf(`0)">
            <summary>
            Determines the index of a specific item in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.</param>
            <returns>
            The index of <paramref name="item"/> if found in the list; otherwise, -1.
            </returns>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.CopyTo(`0[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:GSF.Collections.PriorityQueue`1"/> to an
            <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
            </summary>
            <param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:GSF.Collections.PriorityQueue`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param>
            <param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception>
            <exception cref="T:System.ArgumentException">The number of elements in the source <see cref="T:GSF.Collections.PriorityQueue`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:GSF.Collections.PriorityQueue`1"/> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
            <remarks>
            After removing an item from the queue, the heap will need to be fixed,
            therefore this is an O(log n) operation.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.</exception>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Remove(`0)">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </summary>
            <param name="item">The object to remove from the <see cref="T:GSF.Collections.PriorityQueue`1"/>.</param>
            <returns>
            true if <paramref name="item"/> was successfully removed from the <see cref="T:GSF.Collections.PriorityQueue`1"/>; otherwise, false.
            This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </returns>
            <remarks>
            After removing an item from the queue, the heap will need to be fixed,
            therefore this is an O(log n) operation.
            </remarks>
        </member>
        <member name="M:GSF.Collections.PriorityQueue`1.Clear">
            <summary>
            Removes all items from the <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.PriorityQueue`1.Head">
            <summary>
            Gets the head of the queue. The value returned
            is the same as the <see cref="M:GSF.Collections.PriorityQueue`1.Peek"/> method.
            </summary>
        </member>
        <member name="P:GSF.Collections.PriorityQueue`1.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <returns>
            The element at the specified index.
            </returns>
            <param name="index">The zero-based index of the element to get or set.</param>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="index"/> is not a valid index in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.</exception>
        </member>
        <member name="P:GSF.Collections.PriorityQueue`1.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </summary>
            <returns>
            The number of elements contained in the <see cref="T:GSF.Collections.PriorityQueue`1"/>.
            </returns>
        </member>
        <member name="P:GSF.Collections.PriorityQueue`1.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:GSF.Collections.PriorityQueue`1"/> is read-only.
            </summary>
            <returns>
            False
            </returns>
        </member>
        <member name="T:GSF.Collections.AsyncDoubleBufferedQueue`1">
            <summary>
            Combines <see cref="T:GSF.Collections.AsyncQueue`1"/> and <see cref="T:GSF.Collections.DoubleBufferedQueue`1"/> to provide
            a low-contention, double-buffered queue suitable for multiple-producer, single-consumer
            scenarios.
            </summary>
            <typeparam name="T">Type of items being queued.</typeparam>
        </member>
        <member name="M:GSF.Collections.AsyncDoubleBufferedQueue`1.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.AsyncDoubleBufferedQueue`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Collections.AsyncDoubleBufferedQueue`1.Enqueue(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Enqueues a collection of items into the async double-buffered queue.
            </summary>
            <param name="items">The items to be queued.</param>
        </member>
        <member name="E:GSF.Collections.AsyncDoubleBufferedQueue`1.ProcessException">
            <summary>
            Event that is raised if an exception is encountered while attempting to processing an item in the <see cref="T:GSF.Collections.AsyncDoubleBufferedQueue`1"/>.
            </summary>
            <remarks>
            Processing will not stop for any exceptions thrown by user processing function, but exceptions will be exposed through this event.
            </remarks>
        </member>
        <member name="P:GSF.Collections.AsyncDoubleBufferedQueue`1.ProcessItemsFunction">
            <summary>
            Gets or sets item processing function.
            </summary>
        </member>
        <member name="P:GSF.Collections.AsyncDoubleBufferedQueue`1.Count">
            <summary>
            Gets the number of items in the queue.
            </summary>
        </member>
        <member name="T:GSF.Collections.AsyncQueue`1">
            <summary>
            Creates a fast, light-weight asynchronous processing queue with very low contention.
            </summary>
            <typeparam name="T">Type of items to process.</typeparam>
        </member>
        <member name="M:GSF.Collections.AsyncQueue`1.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Collections.AsyncQueue`1"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.AsyncQueue`1.Enqueue(`0)">
            <summary>
            Enqueues an item for processing.
            </summary>
            <param name="item">Item to be queued for processing.</param>
        </member>
        <member name="E:GSF.Collections.AsyncQueue`1.ProcessException">
            <summary>
            Event that is raised if an exception is encountered while attempting to processing an item in the <see cref="T:GSF.Collections.AsyncQueue`1"/>.
            </summary>
            <remarks>
            Processing will not stop for any exceptions thrown by user processing function, but exceptions will be exposed through this event.
            </remarks>
        </member>
        <member name="P:GSF.Collections.AsyncQueue`1.Count">
            <summary>
            Gets the total number of items currently in the queue.
            </summary>
        </member>
        <member name="P:GSF.Collections.AsyncQueue`1.ProcessItemFunction">
            <summary>
            Gets or sets item processing function.
            </summary>
        </member>
        <member name="P:GSF.Collections.AsyncQueue`1.Enabled">
            <summary>
            Gets or sets flag that enables or disables processing.
            </summary>
        </member>
        <member name="T:GSF.Collections.CollectionExtensions">
            <summary>
            Defines extension functions related to manipulation of arrays and collections.
            </summary>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Merge``3(``0,System.Collections.Generic.IDictionary{``1,``2}[])">
            <summary>
            Merges elements of multiple dictionaries into a single dictionary with no duplicate key values overwritten.
            </summary>
            <typeparam name="T">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> to merge.</typeparam>
            <typeparam name="TKey">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> keys.</typeparam>
            <typeparam name="TValue">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> values.</typeparam>
            <param name="source">Source dictionary to merge with another dictionary.</param>
            <param name="others">Other dictionaries to merge with source dictionary.</param>
            <returns>
            A merged collection of all unique dictionary elements, all <paramref name="others"/> merged left to the source with no duplicate
            key values overwritten (i.e., first encountered key value pair is the one that remains in the returned merged dictionary).
            </returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Merge``3(``0,System.Boolean,System.Collections.Generic.IDictionary{``1,``2}[])">
            <summary>
            Merges elements of multiple dictionaries into a single dictionary.
            </summary>
            <typeparam name="T">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> to merge.</typeparam>
            <typeparam name="TKey">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> keys.</typeparam>
            <typeparam name="TValue">Type of <see cref="T:System.Collections.Generic.IDictionary`2"/> values.</typeparam>
            <param name="source">Source dictionary to merge with another dictionary.</param>
            <param name="overwriteExisting">Set to <c>true</c> to overwrite duplicate key values as they are encountered.</param>
            <param name="others">Other dictionaries to merge with source dictionary.</param>
            <returns>A merged collection of all unique dictionary elements, all <paramref name="others"/> merged left to the source.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added to the dictionary if it does not already exist.</param>
            <param name="valueFactory">The function used to generate a value for the key.</param>
            <returns>The value of the key in the dictionary.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.GetOrAdd``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added to the dictionary if it does not already exist.</param>
            <param name="value">The value to assign to the key if the key does not already exist.</param>
            <returns>The value of the key in the dictionary.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1},System.Func{``0,``1,``1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key already exists.
            </summary>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValueFactory">The function used to generate a value for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on the key's existing value</param>
            <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1,System.Func{``0,``1,``1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key already exists.
            </summary>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValue">The value to be added for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on the key's existing value</param>
            <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,System.Func{``0,``1})">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key already exists.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added or updated.</param>
            <param name="valueFactory">The function used to generate a value for the key.</param>
            <returns>The value of the key in the dictionary after updating.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.AddOrUpdate``2(System.Collections.Generic.IDictionary{``0,``1},``0,``1)">
            <summary>
            Adds a key/value pair to the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:System.Collections.Generic.IDictionary`2"/> if the key already exists.
            </summary>
            <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
            <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
            <param name="dictionary">The dictionary to add the key/value pair to if the key does not already exist.</param>
            <param name="key">The key to be added or updated.</param>
            <param name="value">The value to be assigned to the key.</param>
            <returns>The value of the key in the dictionary after updating.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Any(System.Collections.BitArray,System.Boolean)">
            <summary>
            Returns <c>true</c> if any item in <see cref="T:System.Collections.BitArray"/> is equal to <paramref name="value"/>.
            </summary>
            <param name="source">Source <see cref="T:System.Collections.BitArray"/>.</param>
            <param name="value"><see cref="T:System.Boolean"/> value to test for.</param>
            <returns><c>true</c> if any item in <see cref="T:System.Collections.BitArray"/> is equal to <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.All(System.Collections.BitArray,System.Boolean)">
            <summary>
            Returns <c>true</c> if all items in <see cref="T:System.Collections.BitArray"/> are equal to <paramref name="value"/>.
            </summary>
            <param name="source">Source <see cref="T:System.Collections.BitArray"/>.</param>
            <param name="value"><see cref="T:System.Boolean"/> value to test for.</param>
            <returns><c>true</c> if all items in <see cref="T:System.Collections.BitArray"/> are equal to <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Majority``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns the majority value in the collection, or default type value if no item represents the majority.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="source"/>.</typeparam>
            <param name="source">An enumeration over which to find the majority element.</param>
            <returns>The majority value in the collection.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Majority``1(System.Collections.Generic.IEnumerable{``0},``0)">
            <summary>
            Returns the majority value in the collection, or <paramref name="defaultValue"/> if no item represents the majority.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="source"/>.</typeparam>
            <param name="source">An enumeration over which to find the majority element.</param>
            <param name="defaultValue">Default value to return if no item represents the majority.</param>
            <returns>The majority value in the collection.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Minority``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Returns the minority value in the collection, or default type value if no item represents the minority.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="source"/>.</typeparam>
            <param name="source">An enumeration over which to find the minority element.</param>
            <returns>The minority value in the collection.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Minority``1(System.Collections.Generic.IEnumerable{``0},``0)">
            <summary>
            Returns the minority value in the collection, or <paramref name="defaultValue"/> if no item represents the minority.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="source"/>.</typeparam>
            <param name="source">An enumeration over which to find the minority element.</param>
            <param name="defaultValue">Default value to return if no item represents the minority.</param>
            <returns>The minority value in the collection.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Adds the specified <paramref name="items"/> to the <paramref name="collection"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="collection"/>.</typeparam>
            <param name="collection">The collection to which the <paramref name="items"/> are to be added.</param>
            <param name="items">The elements to be added to the <paramref name="collection"/>.</param>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.UpdateRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Updates <paramref name="collection"/> starting at the <paramref name="index"/> with the specified <paramref name="items"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="collection"/>.</typeparam>
            <param name="collection">The collection whose elements are to be updated with the specified <paramref name="items"/>.</param>
            <param name="index">The zero-based index in the <paramref name="collection"/> at which elements are to be updated.</param>
            <param name="items">The elements that will replace the <paramref name="collection"/> elements starting at the <paramref name="index"/>.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The specified <paramref name="index"/> is present in the <paramref name="collection"/>.</exception>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.GetRange``1(System.Collections.Generic.IList{``0},System.Int32,System.Int32)">
            <summary>
            Returns elements in the specified range from the <paramref name="collection"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of elements in the <paramref name="collection"/>.</typeparam>
            <param name="collection">The collection from which elements are to be retrieved.</param>
            <param name="index">The 0-based index position in the <paramref name="collection"/> from which elements are to be retrieved.</param>
            <param name="count">The number of elements to be retrieved from the <paramref name="collection"/> starting at the <paramref name="index"/>.</param>
            <returns>An <see cref="T:System.Collections.Generic.IList`1"/> object.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.IndexOf``1(System.Collections.Generic.IList{``0},System.Func{``0,System.Boolean})">
            <summary>
            Returns the index of the first element of the sequence that satisfies a condition or <c>-1</c> if no such element is found.
            </summary>
            <param name="source">A <see cref="T:System.Collections.Generic.IList`1"/> to find an index in.</param>
            <param name="predicate">A function to test each element for a condition.</param>
            <returns>Index of the first element in <paramref name="source"/> that matches the specified <paramref name="predicate"/>; otherwise, <c>-1</c>.</returns>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Copy``1(``0[],System.Int32,System.Int32)">
            <summary>
            Returns a copy of the <see cref="T:System.Array"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the <see cref="T:System.Array"/> to be copied.</typeparam>
            <param name="source">The source <see cref="T:System.Array"/> whose elements are to be copied.</param>
            <param name="startIndex">The source array index from where the elements are to be copied.</param>
            <param name="length">The number of elements to be copied starting from the startIndex.</param>
            <returns>An <see cref="T:System.Array"/> of elements copied from the specified portion of the source <see cref="T:System.Array"/>.</returns>
            <remarks>
            Returned <see cref="T:System.Array"/> will be extended as needed to make it the specified <paramref name="length"/>, but
            it will never be less than the source <see cref="T:System.Array"/> length - <paramref name="startIndex"/>.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of valid indexes for the source <see cref="T:System.Array"/> -or-
            <paramref name="length"/> is less than 0.
            </exception>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.MinBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>Selects the smallest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type of the objects to be selected from.</typeparam>
            <typeparam name="TKey">The generic type of the objects to be compared.</typeparam>
            <param name="source">An enumeration that contains the objects to be selected from.</param>
            <param name="keySelector">A delegate that takes an object and produces the key for comparison.</param>
            <returns>Returns the smallest item from the enumeration.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Min``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,System.Int32})">
            <summary>Returns the smallest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">An enumeration that is compared against.</param>
            <param name="comparer">A delegate that takes two generic types to compare, and returns an integer based on the comparison.</param>
            <returns>Returns a generic type.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Min``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
            <summary>Returns the smallest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">An enumeration that is compared against.</param>
            <param name="comparer">A comparer object.</param>
            <returns>Returns a generic type.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.MaxBy``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
            <summary>Selects the largest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type of the objects to be selected from.</typeparam>
            <typeparam name="TKey">The generic type of the objects to be compared.</typeparam>
            <param name="source">An enumeration that contains the objects to be selected from.</param>
            <param name="keySelector">A delegate that takes an object and produces the key for comparison.</param>
            <returns>Returns the largest item from the enumeration.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Max``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``0,System.Int32})">
            <summary>Returns the largest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">An enumeration that is compared against.</param>
            <param name="comparer">A delegate that takes two generic types to compare, and returns an integer based on the comparison.</param>
            <returns>Returns a generic type.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Max``1(System.Collections.Generic.IEnumerable{``0},System.Collections.Generic.IComparer{``0})">
            <summary>Returns the largest item from the enumeration.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">An enumeration that is compared against.</param>
            <param name="comparer">A comparer object.</param>
            <returns>Returns a generic type.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.ToDelimitedString``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>Converts an enumeration to a string, using the default delimiter ("|") that can later be
            converted back to a list using LoadDelimitedString.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">The source object to be converted into a delimited string.</param>
            <returns>Returns a <see cref="T:System.String"/> that is result of combining all elements in the list delimited by the '|' character.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.ToDelimitedString``1(System.Collections.Generic.IEnumerable{``0},System.Char)">
            <summary>Converts an enumeration to a string that can later be converted back to a list using
            LoadDelimitedString.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">The source object to be converted into a delimited string.</param>
            <param name="delimiter">The delimiting character used.</param>
            <returns>Returns a <see cref="T:System.String"/> that is result of combining all elements in the list delimited by <paramref name="delimiter"/>.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.ToDelimitedString``1(System.Collections.Generic.IEnumerable{``0},System.String)">
            <summary>Converts an enumeration to a string that can later be converted back to a list using
            LoadDelimitedString.</summary>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="source">The source object to be converted into a delimited string.</param>
            <param name="delimiter">The delimiting <see cref="T:System.String"/> used.</param>
            <returns>Returns a <see cref="T:System.String"/> that is result of combining all elements in the list delimited by <paramref name="delimiter"/>.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.ToDelimitedString``2(System.Collections.Generic.IEnumerable{``0},``1)">
            <summary>Converts an enumeration to a string that can later be converted back to a list using
            LoadDelimitedString.</summary>
            <typeparam name="TSource">The generic enumeration type used.</typeparam>
            <typeparam name="TDelimiter">The generic delimiter type used.</typeparam>
            <param name="source">The source object to be converted into a delimited string.</param>
            <param name="delimiter">The delimiter of type TDelimiter used.</param>
            <returns>Returns a <see cref="T:System.String"/> that is result of combining all elements in the list delimited by <paramref name="delimiter"/>.</returns>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.LoadDelimitedString``1(System.Collections.Generic.IList{``0},System.String,System.Func{System.String,``0})">
            <summary>Appends items parsed from delimited string, created with ToDelimitedString, using the default
            delimiter ("|") into the given list.</summary>
            <remarks>Items that are converted are added to list. The list is not cleared in advance.</remarks>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="destination">The list we are adding items to.</param>
            <param name="delimitedString">The delimited string to parse for items.</param>
            <param name="convertFromString">Delegate that takes one parameter and converts from string to type TSource.</param>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.LoadDelimitedString``1(System.Collections.Generic.IList{``0},System.String,System.Char,System.Func{System.String,``0})">
            <summary>Appends items parsed from delimited string, created with ToDelimitedString, into the given list.</summary>
            <remarks>Items that are converted are added to list. The list is not cleared in advance.</remarks>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="destination">The list we are adding items to.</param>
            <param name="delimitedString">The delimited string to parse for items.</param>
            <param name="delimiter">The <see cref="T:System.Char"/> value to look for in the <paramref name="delimitedString"/> as the delimiter.</param>
            <param name="convertFromString">Delegate that takes one parameter and converts from string to type TSource.</param>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.LoadDelimitedString``1(System.Collections.Generic.IList{``0},System.String,System.String[],System.Func{System.String,``0})">
            <summary>Appends items parsed from delimited string, created with ToDelimitedString, into the given list.</summary>
            <remarks>Items that are converted are added to list. The list is not cleared in advance.</remarks>
            <typeparam name="TSource">The generic type used.</typeparam>
            <param name="destination">The list we are adding items to.</param>
            <param name="delimitedString">The delimited string to parse for items.</param>
            <param name="delimiters">An array of delimiters to look for in the <paramref name="delimitedString"/> as the delimiter.</param>
            <param name="convertFromString">Delegate that takes a <see cref="T:System.String"/> and converts to type TSource.</param>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Scramble``1(System.Collections.Generic.IList{``0})">
            <summary>
            Rearranges all the elements in the list into a highly-random order.
            </summary>
            <typeparam name="TSource">The generic type of the list.</typeparam>
            <param name="source">The input list of generic types to scramble.</param>
            <remarks>This function uses a cryptographically strong random number generator to perform the scramble.</remarks>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Scramble``1(System.Collections.Generic.IList{``0},System.Int32)">
            <summary>
            Rearranges all the elements in the list into a repeatable pseudo-random order.
            </summary>
            <param name="source">The input list of generic types to scramble.</param>
            <param name="seed">A number used to calculate a starting value for the pseudo-random number sequence.</param>
            <typeparam name="TSource">The generic type of the list.</typeparam>
            <remarks>This function uses the <see cref="T:System.Random"/> generator to perform the scramble using a sequence that is repeatable.</remarks>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.Unscramble``1(System.Collections.Generic.IList{``0},System.Int32)">
            <summary>
            Rearranges all the elements in the list previously scrambled with <see cref="M:GSF.Collections.CollectionExtensions.Scramble``1(System.Collections.Generic.IList{``0},System.Int32)"/> back into their original order.
            </summary>
            <param name="source">The input list of generic types to unscramble.</param>
            <param name="seed">The same number used in <see cref="M:GSF.Collections.CollectionExtensions.Scramble``1(System.Collections.Generic.IList{``0},System.Int32)"/> call to scramble original list.</param>
            <typeparam name="TSource">The generic type of the list.</typeparam>
            <remarks>This function uses the <see cref="T:System.Random"/> generator to perform the unscramble using a sequence that is repeatable.</remarks>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.CompareTo``1(``0[],``0[],System.Boolean)">
            <summary>Compares two arrays.</summary>
            <param name="array1">The first type array to compare to.</param>
            <param name="array2">The second type array to compare against.</param>
            <param name="orderIsImportant"><c>true</c> if order of elements should be considered for equality; otherwise, <c>false</c>.</param>
            <returns>An <see cref="T:System.Int32"/> which returns 0 if they are equal, 1 if <paramref name="array1"/> is larger, or -1 if <paramref name="array2"/> is larger.</returns>
            <typeparam name="TSource">The generic type of the array.</typeparam>
            <exception cref="T:System.ArgumentException">Cannot compare multidimensional arrays.</exception>
        </member>
        <member name="M:GSF.Collections.CollectionExtensions.CompareTo(System.Array,System.Array,System.Collections.IComparer,System.Boolean)">
            <summary>Compares two arrays.</summary>
            <param name="array1">The first <see cref="T:System.Array"/> to compare to.</param>
            <param name="array2">The second <see cref="T:System.Array"/> to compare against.</param>
            <param name="comparer">An interface <see cref="T:System.Collections.IComparer"/> that exposes a method to compare the two arrays.</param>
            <param name="orderIsImportant"><c>true</c> if order of elements should be considered for equality; otherwise, <c>false</c>.</param>
            <returns>An <see cref="T:System.Int32"/> which returns 0 if they are equal, 1 if <paramref name="array1"/> is larger, or -1 if <paramref name="array2"/> is larger.</returns>
            <remarks>This is a default comparer to make arrays comparable.</remarks>
            <exception cref="T:System.ArgumentException">Cannot compare multidimensional arrays.</exception>
        </member>
        <member name="T:GSF.Collections.DictionaryList`2">
            <summary>
            Represents a sorted dictionary style list that supports <see cref="T:System.Collections.IList"/>.
            </summary>
            <remarks>
            <para>
            Have you ever needed the quick look-up feature on a Dictionary (e.g., Hashtable), but ended
            up missing the indexed or sequential access like you have in a list? You may have wondered why
            the .NET dictionary class doesn’t implement the IList interface which allows this. The reason
            IDictionary implementations do not normally implement the IList interface is because of
            ambiguity that is caused when implementing an integer key. For example, if you created a
            dictionary style class with a key of type "Integer" that actually did implement IList(Of T),
            you would not be able to access items in the IList interface by index without "casting" the
            class as IList. This is because the Item property in both the IDictionary and IList would have
            the same parameters. Note, however, that generics in .NET 2.0 gladly allow a class to implement
            both IDictionary and IList (even specifying as Integer as the key) so long you as you are happy
            knowing that the compiler will choose if you access your items by index or key. Given that
            caveat, there are many times when you need a dictionary style collection but also desire an
            IList implementation so the class can be used in other ways without conversion. As a result of
            these needs, we’ve added a generic class to code library called a DictionaryList -- which is
            essentially just a sorted dictionary style list (i.e., SortedList) that implements the
            IList(Of T) interface (specifically as IList(Of KeyValuePair(Of TKey, TValue))). You will find
            all of your convenient expected methods related to both dictionaries and lists; that is, you can
            look-up items by key or by index. The class works perfectly for any non-Integer based key
            (e.g., String, custom class, etc.) -- note that specifying an Integer as the key for the class
            won’t cause an error, but it also will not be very useful. However, you can specify the key for
            your DictionaryList as a "Long," which allows you to use long integers for keyed look-ups and
            regular integers for indexed access--the best of both worlds! In summary, I would not change
            your programming habits to start using this for "my collection for everything," as nothing comes
            for free; however, if you have a need for a "hybrid" collection class, this fits the bill.
            </para>
            <para>
            Important note about using an "Integer" as the key for this class: IDictionary implementations
            do not normally implement the IList interface because of ambiguity that is caused when implementing
            an integer key. For example, if you implement this class with a key of type "Integer" you will not
            be able to access items in the queue by index without "casting" the class as IList. This is because
            the Item property in both the IDictionary and IList would have the same parameters.
            </para>
            <para>
            Note that prior to the addition of Generics in .NET, the class that performed a similar function
            was the "NameObjectCollectionBase" in the System.Collections.Specialized namespace which
            specifically allowed item access by either key or by index.  This class is similar in function
            but instead is a generic class allowing use with any strongly typed key or value. 
            </para>
            </remarks>
            <typeparam name="TKey">Generic key type.</typeparam>
            <typeparam name="TValue">Generic value type.</typeparam>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Add(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Adds an item to the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="item">The key value pair item to add.</param>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Clear">
            <summary>
            Removes all items from the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Contains(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines whether the <see cref="T:GSF.Collections.DictionaryList`2"/> contains a specific value.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
            <returns>true if item is found in the <see cref="T:GSF.Collections.DictionaryList`2"/>; otherwise, false</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.CopyTo(System.Collections.Generic.KeyValuePair{`0,`1}[],System.Int32)">
            <summary>
            Copies the elements of the <see cref="T:GSF.Collections.DictionaryList`2"/> to an <see cref="T:System.Array"/>, starting at a particular index.
            </summary>
            <param name="array">
            The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements 
            copied from <see cref="T:GSF.Collections.DictionaryList`2"/>. The array must 
            have zero-based indexing.
            </param>
            <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Remove(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Removes the first occurrence of a specific object from the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="item">The object to remove from the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
            <returns>
            true if item was successfully removed from the <see cref="T:GSF.Collections.DictionaryList`2"/>; 
            otherwise, false. This method also returns false if item is not found in 
            the original <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.IndexOf(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Determines the index of a specific item in the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
            <returns>The index of item if found in the list; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:GSF.Collections.DictionaryList`2"/> item at the specified index.
            </summary>
            <param name="index">The zero-based index of the item to remove.</param>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Insert(System.Int32,System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            Inserts an item to the <see cref="T:GSF.Collections.DictionaryList`2"/> at the specified index.
            </summary>
            <param name="index">The zero-based index at which item should be inserted.</param>
            <param name="item">The object to insert into the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Add(`0,`1)">
            <summary>
            Adds an element with the provided key and value to the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="key">The object to use as the key of the element to add.</param>
            <param name="value">The object to use as the value of the element to add.</param>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.ContainsKey(`0)">
            <summary>
            Determines whether the <see cref="T:GSF.Collections.DictionaryList`2"/> contains an element with the specified key.
            </summary>
            <param name="key">The key to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
            <returns>true if the <see cref="T:GSF.Collections.DictionaryList`2"/> contains an element with the key; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.ContainsValue(`1)">
            <summary>
            Determines whether the <see cref="T:GSF.Collections.DictionaryList`2"/> contains a specific value.
            </summary>
            <param name="value">The value to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>. The value can be null for reference types.</param>
            <returns>true if the <see cref="T:GSF.Collections.DictionaryList`2"/> contains an element with the specified value; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.IndexOfKey(`0)">
            <summary>
            Searches for the specified key and returns the zero-based index within the entire <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="key">The key to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>.</param>
            <returns>The zero-based index of key within the entire <see cref="T:GSF.Collections.DictionaryList`2"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.IndexOfValue(`1)">
            <summary>
            Searches for the specified value and returns the zero-based index of the first occurrence within the entire <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="value">The value to locate in the <see cref="T:GSF.Collections.DictionaryList`2"/>. The value can be null for reference types.</param>
            <returns>The zero-based index of the first occurrence of value within the entire <see cref="T:GSF.Collections.DictionaryList`2"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.Remove(`0)">
            <summary>
            Removes the element with the specified key from the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
            <param name="key">The key of the element to remove.</param>
            <returns>
            true if the element is successfully removed; otherwise, false. This method also returns false if key
            was not found in the original <see cref="T:GSF.Collections.DictionaryList`2"/>.</returns>
        </member>
        <member name="M:GSF.Collections.DictionaryList`2.TryGetValue(`0,`1@)">
            <summary>
            Gets the value associated with the specified key.
            </summary>
            <param name="key">The key whose value to get.</param>
            <param name="value">
            When this method returns, the value associated with the specified key, if 
            the key is found; otherwise, the default value for the type of the value
            parameter. This parameter is passed uninitialized.</param>
            <returns>
            true if the <see cref="T:GSF.Collections.DictionaryList`2"/> contains an element with the specified key; otherwise, false.</returns>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.Count">
            <summary>
            Gets the number of elements contained in the <see cref="T:GSF.Collections.DictionaryList`2"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.IsReadOnly">
            <summary>
            Gets a value indicating whether the <see cref="T:GSF.Collections.DictionaryList`2"/> is read-only.
            </summary>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.Item(System.Int32)">
            <summary>
            Gets or sets the element at the specified index.
            </summary>
            <param name="index">The zero-based index of the element to get or set.</param>
            <returns>The element at the specified index.</returns>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.Item(`0)">
            <summary>
            Gets or sets the element with the specified key.
            </summary>
            <param name="key">The key of the element to get or set.</param>
            <returns>The element with the specified key.</returns>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.Keys">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the keys of the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
        </member>
        <member name="P:GSF.Collections.DictionaryList`2.Values">
            <summary>
            Gets an <see cref="T:System.Collections.Generic.ICollection`1"/> containing the values in the <see cref="T:System.Collections.Generic.IDictionary`2"/>.
            </summary>
        </member>
        <member name="T:GSF.Collections.DoubleBufferedQueue`1">
            <summary>
            A thread-safe double-buffered queue that allows for low-contention
            item processing in single-producer, single-consumer scenarios.
            </summary>
            <typeparam name="T">Type of items being queued.</typeparam>
            <remarks>
            It is not safe to use this class with multiple consumer threads.
            The <see cref="M:GSF.Collections.DoubleBufferedQueue`1.Dequeue"/> method must be called by one thread at
            a time, and the consumer must not access a list returned by Dequeue
            after its next call to Dequeue.
            </remarks>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Collections.DoubleBufferedQueue`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.Enqueue(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Enqueues a collection of items into the double-buffered queue.
            </summary>
            <param name="items">The collection of items to be enqueued.</param>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.Dequeue">
            <summary>
            Dequeues a collection of items from the queue.
            </summary>
            <returns>
            A collection of items that have previously been enqueued,
            or no items if none have been enqueued since last dequeue.
            </returns>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.Clear">
            <summary>
            Empties the producer's buffer so that the
            items can no longer be consumed by the consumer.
            </summary>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.TryEnqueue(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Attempts to enqueue a collection of items into the double-buffered queue.
            </summary>
            <param name="items">The collection of items to be enqueued.</param>
            <returns>
            True if the items were successfully enqueued; false otherwise.
            </returns>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.TryDequeue(System.Collections.Generic.IList{`0}@)">
            <summary>
            Attempts to dequeue a collection of items from the queue and
            returns the number of items left in the queue after dequeuing.
            </summary>
            <param name="items">The items that were dequeued.</param>
            <returns>
            The number of items left in the queue after
            dequeuing as many items as possible.
            </returns>
        </member>
        <member name="M:GSF.Collections.DoubleBufferedQueue`1.TryClear">
            <summary>
            Attempts to enqueue a collection of items into the double-buffered queue.
            </summary>
            <returns>
            True if the items were successfully enqueued; false otherwise.
            </returns>
        </member>
        <member name="E:GSF.Collections.DoubleBufferedQueue`1.ProcessException">
            <summary>
            Event that is raised if an exception is encountered while attempting to processing an item in the <see cref="T:GSF.Collections.AsyncQueue`1"/>.
            </summary>
            <remarks>
            Processing will not stop for any exceptions thrown by user processing function, but exceptions will be exposed through this event.
            </remarks>
        </member>
        <member name="P:GSF.Collections.DoubleBufferedQueue`1.ProcessItemsFunction">
            <summary>
            Gets or sets item processing function.
            </summary>
        </member>
        <member name="P:GSF.Collections.DoubleBufferedQueue`1.Count">
            <summary>
            Gets the current number of items in the queue.
            </summary>
        </member>
        <member name="T:GSF.Collections.ProcessDictionary`2">
            <summary>
            Represents a thread-safe (via locking) keyed collection of items, based on <see cref="T:GSF.Collections.DictionaryList`2"/>, that get processed on independent threads with a consumer provided function.
            </summary>
            <typeparam name="TKey">Type of keys used to reference process items.</typeparam>
            <typeparam name="TValue">Type of values to process.</typeparam>
            <remarks>
            <para>This class acts as a strongly-typed sorted dictionary of objects to be processed.</para>
            <para>Note that the <see cref="T:GSF.Collections.ProcessDictionary`2"/> will not start processing until the Start method is called.</para>
            <para>Because this <see cref="T:GSF.Collections.ProcessDictionary`2"/> represents a dictionary style collection, all keys must be unique.</para>
            <para>
            Be aware that this class is based on a <see cref="T:GSF.Collections.DictionaryList`2"/> (i.e., a <see cref="T:System.Collections.Generic.SortedList`2"/>
            that implements <see cref="T:System.Collections.Generic.IList`1"/>), and since items in this kind of list are automatically sorted, items will be processed
            in "sorted" order regardless of the order in which they are added to the list.
            </para>
            <para>
            Important note about using an "Integer" as the key for this class: because the <see cref="T:GSF.Collections.ProcessDictionary`2"/> base class must
            implement IList, a normal dictionary cannot be used for the base class. IDictionary implementations
            do not normally implement the IList interface because of ambiguity that is caused when implementing
            an integer key. For example, if you implement this class with a key of type "Integer," you will not
            be able to access items in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> by index without "casting" the 
            <see cref="T:GSF.Collections.ProcessDictionary`2"/> as IList. This is because the Item property in both the IDictionary and IList would
            have the same parameters (see the <see cref="T:GSF.Collections.DictionaryList`2"/> class for more details.).
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.#ctor(GSF.Collections.ProcessDictionary{`0,`1}.ProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.Collections.ProcessDictionary`2"/> based on the generic <see cref="T:GSF.Collections.DictionaryList`2"/> class.
            </summary>
            <param name="processItemFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.ProcessItemFunctionSignature"/> that defines a function signature to process a key and value one at a time.</param>
            <param name="processInterval">A <see cref="T:System.Double"/> which represents the process interval.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> that represents the max number of threads to use.</param>
            <param name="processTimeout">An <see cref="T:System.Int32"/> that represents the amount of time before a process times out.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after a timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.#ctor(GSF.Collections.ProcessDictionary{`0,`1}.ProcessItemFunctionSignature,GSF.Collections.ProcessDictionary{`0,`1}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a <see cref="T:GSF.Collections.ProcessDictionary`2"/> based on the generic <see cref="T:GSF.Collections.DictionaryList`2"/> class.
            </summary>
            <param name="processItemFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.ProcessItemFunctionSignature"/> that defines a function signature to process a key and value one at a time.</param>
            <param name="canProcessItemFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.CanProcessItemFunctionSignature"/> that determines if a key and value can currently be processed.</param>
            <param name="processInterval">A <see cref="T:System.Double"/> which represents the process interval.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> that represents the max number of threads to use.</param>
            <param name="processTimeout">An <see cref="T:System.Int32"/> that represents the amount of time before a process times out.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after a timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.#ctor(GSF.Collections.ProcessQueue{System.Collections.Generic.KeyValuePair{`0,`1}}.ProcessItemsFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk-item <see cref="T:GSF.Collections.ProcessDictionary`2"/> based on the generic <see cref="T:GSF.Collections.DictionaryList`2"/> class.
            </summary>
            <param name="processItemsFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.ProcessItemFunctionSignature"/> that defines a function signature to process multiple items at once.</param>
            <param name="processInterval">A <see cref="T:System.Double"/> which represents the process interval.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> that represents the max number of threads to use.</param>
            <param name="processTimeout">An <see cref="T:System.Int32"/> that represents the amount of time before a process times out.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after a timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.#ctor(GSF.Collections.ProcessQueue{System.Collections.Generic.KeyValuePair{`0,`1}}.ProcessItemsFunctionSignature,GSF.Collections.ProcessDictionary{`0,`1}.CanProcessItemFunctionSignature,System.Double,System.Int32,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Creates a bulk-item <see cref="T:GSF.Collections.ProcessDictionary`2"/> based on the generic <see cref="T:GSF.Collections.DictionaryList`2"/> class.
            </summary>
            <param name="processItemsFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.ProcessItemFunctionSignature"/> that defines a function signature to process multiple items at once.</param>
            <param name="canProcessItemFunction">A delegate <see cref="T:GSF.Collections.ProcessDictionary`2.CanProcessItemFunctionSignature"/> that determines if a key and value can currently be processed.</param>
            <param name="processInterval">A <see cref="T:System.Double"/> which represents the process interval.</param>
            <param name="maximumThreads">An <see cref="T:System.Int32"/> that represents the max number of threads to use.</param>
            <param name="processTimeout">An <see cref="T:System.Int32"/> that represents the amount of time before a process times out.</param>
            <param name="requeueOnTimeout">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after a timeout.</param>
            <param name="requeueOnException">A <see cref="T:System.Boolean"/> value that indicates whether the process should requeue the item after an exception.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Collections.ProcessDictionary`2"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Add(`0,`1)">
            <summary>Adds an element with the provided key and value to the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</summary>
            <param name="value">The object to use as the value of the element to add.</param>
            <param name="key">The object to use as the key of the element to add.</param>
            <exception cref="T:System.NotSupportedException">The <see cref="T:GSF.Collections.ProcessDictionary`2"/> is read-only.</exception>
            <exception cref="T:System.ArgumentException">An element with the same key already exists in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</exception>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.ContainsKey(`0)">
            <summary>Determines whether the <see cref="T:GSF.Collections.ProcessDictionary`2"/> contains an element with the specified key.</summary>
            <returns>True, if the <see cref="T:GSF.Collections.ProcessDictionary`2"/> contains an element with the key; otherwise, false.</returns>
            <param name="key">The key to locate in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.ContainsValue(`1)">
            <summary>Determines whether the <see cref="T:GSF.Collections.ProcessDictionary`2"/> contains an element with the specified value.</summary>
            <returns>True, if the <see cref="T:GSF.Collections.ProcessDictionary`2"/> contains an element with the value; otherwise, false.</returns>
            <param name="value">The value to locate in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)">
            <summary>
            Searches for the specified key and returns the zero-based index within the entire <see cref="T:GSF.Collections.ProcessDictionary`2"/>.
            </summary>
            <param name="key">The key to locate in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</param>
            <returns>The zero-based index of key within the entire <see cref="T:GSF.Collections.ProcessDictionary`2"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.IndexOfValue(`1)">
            <summary>
            Searches for the specified value and returns the zero-based index of the first occurrence within the entire <see cref="T:GSF.Collections.ProcessDictionary`2"/>.
            </summary>
            <param name="value">The value to locate in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>. The value can be null for reference types.</param>
            <returns>The zero-based index of the first occurrence of value within the entire <see cref="T:GSF.Collections.ProcessDictionary`2"/>, if found; otherwise, -1.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Remove(`0)">
            <summary>Removes the element with the specified key from the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</summary>
            <param name="key">The key of the element to remove.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
            <returns>This method returns a <see cref="T:System.Boolean"/> value indicating whether the item was removed.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.TryGetValue(`0,`1@)">
            <summary>Gets the value associated with the specified key.</summary>
            <returns>True, if the <see cref="T:GSF.Collections.ProcessDictionary`2"/> contains an element with the specified key; otherwise, false.</returns>
            <param name="value">When this method returns, contains the value associated with the specified key, if the
            key is found; otherwise, the default value for the type of the value parameter. This parameter is passed
            uninitialized.</param>
            <param name="key">The key of the value to get.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.GetOrAdd(`0,System.Func{`0,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist.
            </summary>
            <param name="key">The key to be added to the dictionary if it does not already exist.</param>
            <param name="valueFactory">The function used to generate a value for the key.</param>
            <returns>The value of the key in the dictionary.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.GetOrAdd(`0,`1)">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist.
            </summary>
            <param name="key">The key to be added to the dictionary if it does not already exist.</param>
            <param name="value">The value to assign to the key if the key does not already exist.</param>
            <returns>The value of the key in the dictionary.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.AddOrUpdate(`0,System.Func{`0,`1},System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key already exists.
            </summary>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValueFactory">The function used to generate a value for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on the key's existing value</param>
            <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.AddOrUpdate(`0,`1,System.Func{`0,`1,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key already exists.
            </summary>
            <param name="key">The key to be added or whose value should be updated</param>
            <param name="addValue">The value to be added for an absent key</param>
            <param name="updateValueFactory">The function used to generate a new value for an existing key based on the key's existing value</param>
            <returns>The new value for the key. This will be either be the result of addValueFactory (if the key was absent) or the result of updateValueFactory (if the key was present).</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.AddOrUpdate(`0,System.Func{`0,`1})">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key already exists.
            </summary>
            <param name="key">The key to be added or updated.</param>
            <param name="valueFactory">The function used to generate a value for the key.</param>
            <returns>The value of the key in the dictionary after updating.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.AddOrUpdate(`0,`1)">
            <summary>
            Adds a key/value pair to the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key does not already exist,
            or updates a key/value pair in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> if the key already exists.
            </summary>
            <param name="key">The key to be added or updated.</param>
            <param name="value">The value to be assigned to the key.</param>
            <returns>The value of the key in the dictionary after updating.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.BinarySearch(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.BinarySearch(System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Generic.IComparer{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or-
            null to use the default comparer: Generic.Comparer(Of T).Default</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.BinarySearch(System.Int32,System.Int32,System.Collections.Generic.KeyValuePair{`0,`1},System.Collections.Generic.IComparer{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count">The length of the range to search.</param>
            <param name="item">The object to locate. The value can be null for reference types.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or- null to use
            the default comparer: Generic.Comparer(Of T).Default</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.IndexOf(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.IndexOf(System.Collections.Generic.KeyValuePair{`0,`1},System.Int32,System.Int32)">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="count">The number of elements in the section to search.</param>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the search.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.LastIndexOf(System.Collections.Generic.KeyValuePair{`0,`1})">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.LastIndexOf(System.Collections.Generic.KeyValuePair{`0,`1},System.Int32)">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.LastIndexOf(System.Collections.Generic.KeyValuePair{`0,`1},System.Int32,System.Int32)">
            <summary>
            This function doesn't have the same meaning in the <see cref="T:GSF.Collections.ProcessDictionary`2"/> as it does in
            <see cref="T:GSF.Collections.ProcessQueue`1"/>, so it is marked as hidden from the editor.  However it returns
            <see cref="M:GSF.Collections.ProcessDictionary`2.IndexOfKey(`0)"/> so that it returns a value that at least makes sense
            in case it gets called.
            </summary>
            <param name="item">The object to locate in the <see cref="T:GSF.Collections.ProcessQueue`1"/>. The value can be null for reference types.</param>
            <param name="index">The zero-based starting index of the backward search.</param>
            <param name="count">The number of elements in the section to search.</param>
            <returns>This method returns an <see cref="T:System.Int32"/> that is the index of the item.Key.</returns>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Sort">
            <summary>
            <see cref="T:GSF.Collections.ProcessDictionary`2"/> is based on a <see cref="T:GSF.Collections.DictionaryList`2"/> which is already
            sorted, so calling this function has no effect.  As a result this function is marked as hidden from the editor.
            </summary>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Sort(System.Collections.Generic.IComparer{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            <see cref="T:GSF.Collections.ProcessDictionary`2"/> is based on a <see cref="T:GSF.Collections.DictionaryList`2"/> which is already
            sorted, so calling this function has no effect.  As a result this function is marked as hidden from the editor.
            </summary>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or-
            null to use the default comparer: Generic.Comparer(Of T).Default</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Sort(System.Comparison{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            <see cref="T:GSF.Collections.ProcessDictionary`2"/> is based on a <see cref="T:GSF.Collections.DictionaryList`2"/> which is already
            sorted, so calling this function has no effect.  As a result this function is marked as hidden from the editor.
            </summary>
            <param name="comparison">The comparison to use when comparing elements.</param>
        </member>
        <member name="M:GSF.Collections.ProcessDictionary`2.Sort(System.Int32,System.Int32,System.Collections.Generic.IComparer{System.Collections.Generic.KeyValuePair{`0,`1}})">
            <summary>
            <see cref="T:GSF.Collections.ProcessDictionary`2"/> is based on a <see cref="T:GSF.Collections.DictionaryList`2"/> which is already
            sorted, so calling this function has no effect.  As a result this function is marked as hidden from the editor.
            </summary>
            <param name="index">The zero-based starting index of the range to search.</param>
            <param name="count">The length of the range to search.</param>
            <param name="comparer">The Generic.IComparer implementation to use when comparing elements -or-
            null to use the default comparer: Generic.Comparer(Of T).Default</param>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.ProcessItemFunction">
            <summary>
            Gets or sets the user function used to process items in the list one at a time.
            </summary>
            <remarks>
            <para>This function and <see cref="P:GSF.Collections.ProcessDictionary`2.ProcessItemFunction"/> cannot be defined at the same time.</para>
            <para>A <see cref="T:GSF.Collections.ProcessDictionary`2"/> must be defined to process either a single item at a time or many items at once.</para>
            <para>Implementation of this function makes <see cref="T:GSF.Collections.QueueProcessingStyle"/> = OneAtATime.</para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.ProcessItemsFunction">
            <summary>
            Gets or sets the user function used to process multiple items in the list at once.
            </summary>
            <remarks>
            <para>This function and <see cref="P:GSF.Collections.ProcessDictionary`2.ProcessItemFunction"/> cannot be defined at the same time.</para>
            <para>A <see cref="T:GSF.Collections.ProcessDictionary`2"/> must be defined to process either a single item at a time or many items at once.</para>
            <para>Implementation of this function makes <see cref="T:GSF.Collections.QueueProcessingStyle"/> = ManyAtOnce.</para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.CanProcessItemFunction">
            <summary>
            Gets or sets the user function used to determine if an item is ready to be processed.
            </summary>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.Name">
            <summary>
            Gets the class name.
            </summary>
            <returns>Class name.</returns>
            <remarks>
            <para>This name is used for class identification in strings (e.g., used in error message).</para>
            <para>Derived classes should override this method with a proper class name.</para>
            </remarks>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.Item(`0)">
            <summary>Gets or sets the value associated with the specified key.</summary>
            <returns>The value associated with the specified key. If the specified key is not found, a get operation
            throws a KeyNotFoundException, and a set operation creates a new element with the specified key.</returns>
            <param name="key">The key of the value to get or set.</param>
            <exception cref="T:System.ArgumentNullException">key is null.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and key does not exist in the collection.</exception>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.Keys">
            <summary>Gets an ICollection containing the keys of the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</summary>
            <returns>An ICollection containing the keys of the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</returns>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.Values">
            <summary>Gets an ICollection containing the values of the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</summary>
            <returns>An ICollection containing the values of the <see cref="T:GSF.Collections.ProcessDictionary`2"/>.</returns>
        </member>
        <member name="P:GSF.Collections.ProcessDictionary`2.InternalDictionary">
            <summary>
            Gets the internal sorted dictionary for direct use by derived classes.
            </summary>
        </member>
        <member name="T:GSF.Collections.ProcessDictionary`2.ProcessItemFunctionSignature">
            <summary>
            Function signature that defines a method to process a key and value one at a time.
            </summary>
            <param name="key">key to be processed.</param>
            <param name="value">value to be processed.</param>
            <remarks>
            <para>Required unless <see cref="P:GSF.Collections.ProcessDictionary`2.ProcessItemsFunction"/> is implemented.</para>
            <para>Used when creating a <see cref="T:GSF.Collections.ProcessDictionary`2"/> to process one item at a time.</para>
            <para>Asynchronous <see cref="T:GSF.Collections.ProcessDictionary`2"/> will process individual items on multiple threads</para>
            </remarks>
        </member>
        <member name="T:GSF.Collections.ProcessDictionary`2.CanProcessItemFunctionSignature">
            <summary>
            Function signature that determines if a key and value can be currently processed.
            </summary>
            <param name="key">key to be checked for processing availability.</param>
            <param name="value">value to be checked for processing availability.</param>
            <returns>True, if key and value can be processed.</returns>
            <remarks>
            <para>Implementation of this function is optional. It will be assumed that an item can be processed if this
            function is not defined</para>
            <para>Items must eventually get to a state where they can be processed or they will remain in the <see cref="T:GSF.Collections.ProcessDictionary`2"/>
            indefinitely.</para>
            <para>
            Note that when this function is implemented and <see cref="T:GSF.Collections.QueueProcessingStyle"/> = ManyAtOnce (i.e., 
            <see cref="P:GSF.Collections.ProcessDictionary`2.ProcessItemsFunction"/> is defined), then each item presented
            for processing must evaluate as "CanProcessItem = True" before any items are processed.
            </para>
            </remarks>
        </member>
        <member name="T:GSF.Collections.NamespaceDoc">
            <summary>
            Contains classes and type extension functions related to any fundamental collection including thread based processing queues.
            </summary>
        </member>
        <member name="T:GSF.Collections.QueueThreadingMode">
            <summary>
            Enumeration of possible <see cref="T:GSF.Collections.ProcessQueue`1"/> threading modes.
            </summary>
        </member>
        <member name="F:GSF.Collections.QueueThreadingMode.Asynchronous">
            <summary>
            Processes several items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> at once on different threads, where processing order is not important.
            </summary>
        </member>
        <member name="F:GSF.Collections.QueueThreadingMode.Synchronous">
            <summary>
            Processes items in the <see cref="T:GSF.Collections.ProcessQueue`1"/> one at a time on a single thread, where processing order is important.
            </summary>
        </member>
        <member name="T:GSF.Collections.QueueProcessingStyle">
            <summary>
            Enumeration of possible <see cref="T:GSF.Collections.ProcessQueue`1"/> processing styles.
            </summary>
        </member>
        <member name="F:GSF.Collections.QueueProcessingStyle.OneAtATime">
            <summary>
            Defines <see cref="T:GSF.Collections.ProcessQueue`1"/> processing delegate to process only one item at a time.
            </summary>
            <remarks>
            This is the typical <see cref="T:GSF.Collections.QueueProcessingStyle"/> when the <see cref="T:GSF.Collections.QueueThreadingMode"/> is asynchronous.
            </remarks>
        </member>
        <member name="F:GSF.Collections.QueueProcessingStyle.ManyAtOnce">
            <summary>
            Defines <see cref="T:GSF.Collections.ProcessQueue`1"/> processing delegate to process all currently available items in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            Items are passed into delegate as an array.
            </summary>
            <remarks>
            This is the optimal <see cref="T:GSF.Collections.QueueProcessingStyle"/> when the <see cref="T:GSF.Collections.QueueThreadingMode"/> is synchronous.
            </remarks>
        </member>
        <member name="T:GSF.Collections.RequeueReason">
            <summary>
            Enumeration of possible requeue reasons.
            </summary>
        </member>
        <member name="F:GSF.Collections.RequeueReason.CannotProcess">
            <summary>
            Requeuing item since it cannot be processed at this time.
            </summary>
        </member>
        <member name="F:GSF.Collections.RequeueReason.Exception">
            <summary>
            Requeuing item due to an exception.
            </summary>
        </member>
        <member name="F:GSF.Collections.RequeueReason.Timeout">
            <summary>
            Requeing item due to timeout.
            </summary>
        </member>
        <member name="T:GSF.Collections.RequeueMode">
            <summary>
            Enumeration of possible requeue modes.
            </summary>
        </member>
        <member name="F:GSF.Collections.RequeueMode.Prefix">
            <summary>
            Requeues item at the beginning of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="F:GSF.Collections.RequeueMode.Suffix">
            <summary>
            Requeues item at the end of the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="T:GSF.Collections.ProcessQueueStatistics">
            <summary>
            Represents the statistics of a <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.IsEnabled">
            <summary>
            Gets indicator that the <see cref="T:GSF.Collections.ProcessQueue`1"/> is currently enabled.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.IsProcessing">
            <summary>
            Gets indicator that the <see cref="T:GSF.Collections.ProcessQueue`1"/> is actively processing items.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ProcessingInterval">
            <summary>
            Gets the interval, in milliseconds, on which new items begin processing.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ProcessTimeout">
            <summary>
            Gets the maximum time, in milliseconds, allowed for processing an item.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ThreadingMode">
            <summary>
            Gets the current <see cref="T:GSF.Collections.QueueThreadingMode"/> for the <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., synchronous or asynchronous).
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ProcessingStyle">
            <summary>
            Gets the item <see cref="T:GSF.Collections.QueueProcessingStyle"/> for the <see cref="T:GSF.Collections.ProcessQueue`1"/> (i.e., one at a time or many at once).
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.RunTime">
            <summary>
            Gets the total amount of time, in seconds, that the process <see cref="T:GSF.Collections.ProcessQueue`1"/> has been active.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ActiveThreads">
            <summary>
            Gets the current number of active threads.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.QueueCount">
            <summary>
            Gets the number of elements queued for processing in the <see cref="T:GSF.Collections.ProcessQueue`1"/>.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.ItemsBeingProcessed">
            <summary>
            Gets the total number of items currently being processed.
            </summary>
        </member>
        <member name="F:GSF.Collections.ProcessQueueStatistics.TotalProcessedItems">
            <summary>
            Gets the total number of items processed so far.
            </summary>
        </member>
        <member name="T:GSF.ApplicationType">
            <summary>Specifies the type of the application.</summary>
        </member>
        <member name="F:GSF.ApplicationType.Unknown">
            <summary>
            Application is of unknown type.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.Native">
            <summary>
            Application doesn't require a subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.WindowsGui">
            <summary>
            Application runs in the Windows GUI subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.WindowsCui">
            <summary>
            Application runs in the Windows character subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.OS2Cui">
            <summary>
            Application runs in the OS/2 character subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.PosixCui">
            <summary>
            Application runs in the Posix character subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.NativeWindows">
            <summary>
            Application is a native Win9x driver.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.WindowsCEGui">
            <summary>
            Application runs in the Windows CE subsystem.
            </summary>
        </member>
        <member name="F:GSF.ApplicationType.Web">
            <summary>
            The application is a web site or web application.
            </summary>
        </member>
        <member name="T:GSF.UpdateType">
            <summary>
            Indicates the type of update.
            </summary>
        </member>
        <member name="F:GSF.UpdateType.Information">
            <summary>
            Update is informational.
            </summary>
        </member>
        <member name="F:GSF.UpdateType.Warning">
            <summary>
            Update is a warning.
            </summary>
        </member>
        <member name="F:GSF.UpdateType.Alarm">
            <summary>
            Update is an alarm.
            </summary>
        </member>
        <member name="T:GSF.Common">
            <summary>
            Defines common global functions.
            </summary>
        </member>
        <member name="M:GSF.Common.IIf``1(System.Boolean,``0,``0)">
            <summary>Returns one of two strongly-typed objects.</summary>
            <returns>One of two objects, depending on the evaluation of given expression.</returns>
            <param name="expression">The expression you want to evaluate.</param>
            <param name="truePart">Returned if expression evaluates to True.</param>
            <param name="falsePart">Returned if expression evaluates to False.</param>
            <typeparam name="T">Return type used for immediate expression</typeparam>
            <remarks>
            <para>This function acts as a strongly-typed immediate if (a.k.a. inline if).</para>
            <para>It is expected that this function will only be used in Visual Basic.NET as a strongly-typed IIf replacement.</para>
            </remarks>
        </member>
        <member name="M:GSF.Common.CreateArray``1(System.Int32)">
            <summary>Creates a strongly-typed Array.</summary>
            <returns>New array of specified type.</returns>
            <param name="length">Desired length of new array.</param>
            <typeparam name="T">Return type for new array.</typeparam>
            <remarks>
            <para>It is expected that this function will only be used in Visual Basic.NET.</para>
            <para>
            The Array.CreateInstance provides better performance and more direct CLR access for array creation (not to
            mention less confusion on the matter of array lengths) in VB.NET, however the returned System.Array is not
            typed properly. This function properly casts the return array based on the the type specification helping
            when Option Strict is enabled.
            </para>
            </remarks>
            <example>
            <code language="VB">
                Dim buffer As Byte() = CreateArray(Of Byte)(12)
                Dim matrix As Integer()() = CreateArray(Of Integer())(10)
            </code>
            </example>
        </member>
        <member name="M:GSF.Common.CreateArray``1(System.Int32,``0)">
            <summary>Creates a strongly-typed Array with an initial value parameter.</summary>
            <returns>New array of specified type.</returns>
            <param name="length">Desired length of new array.</param>
            <param name="initialValue">Value used to initialize all array elements.</param>
            <typeparam name="T">Return type for new array.</typeparam>
            <remarks>
            It is expected that this function will only be used in Visual Basic.NET.
            </remarks>
            <example>
            <code language="VB">
                Dim elements As Integer() = CreateArray(12, -1)
                Dim names As String() = CreateArray(100, "undefined")
            </code>
            </example>
        </member>
        <member name="M:GSF.Common.GetApplicationType">
            <summary>
            Gets the type of the currently executing application.
            </summary>
            <returns>One of the <see cref="T:GSF.ApplicationType"/> values.</returns>
        </member>
        <member name="M:GSF.Common.ToNonNullString``1(``0)">
            <summary>
            Converts value to string; null objects (or DBNull objects) will return an empty string (""). 
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of <see cref="T:System.Object"/> to convert to string.</typeparam>
            <param name="value">Value to convert to string.</param>
            <returns><paramref name="value"/> as a string; if <paramref name="value"/> is null, empty string ("") will be returned. </returns>
        </member>
        <member name="M:GSF.Common.ToNonNullString``1(``0,System.String)">
            <summary>
            Converts value to string; null objects (or DBNull objects) will return specified <paramref name="nonNullValue"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of <see cref="T:System.Object"/> to convert to string.</typeparam>
            <param name="value">Value to convert to string.</param>
            <param name="nonNullValue"><see cref="T:System.String"/> to return if <paramref name="value"/> is null.</param>
            <returns><paramref name="value"/> as a string; if <paramref name="value"/> is null, <paramref name="nonNullValue"/> will be returned.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="nonNullValue"/> cannot be null.</exception>
        </member>
        <member name="M:GSF.Common.ToNonNullString(System.String)">
            <summary>
            Makes sure returned string value is not null; if this string is null, empty string ("") will be returned. 
            </summary>
            <param name="value"><see cref="T:System.String"/> to verify is not null.</param>
            <returns><see cref="T:System.String"/> value; if <paramref name="value"/> is null, empty string ("") will be returned.</returns>
        </member>
        <member name="M:GSF.Common.ToNonNullNorEmptyString``1(``0,System.String)">
            <summary>
            Converts value to string; null objects, DBNull objects or empty strings will return specified <paramref name="nonNullNorEmptyValue"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of <see cref="T:System.Object"/> to convert to string.</typeparam>
            <param name="value">Value to convert to string.</param>
            <param name="nonNullNorEmptyValue"><see cref="T:System.String"/> to return if <paramref name="value"/> is null.</param>
            <returns><paramref name="value"/> as a string; if <paramref name="value"/> is null, DBNull or an empty string <paramref name="nonNullNorEmptyValue"/> will be returned.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="nonNullNorEmptyValue"/> must not be null or an empty string.</exception>
        </member>
        <member name="M:GSF.Common.ToNonNullNorWhiteSpace``1(``0,System.String)">
            <summary>
            Converts value to string; null objects, DBNull objects, empty strings or all white space strings will return specified <paramref name="nonNullNorWhiteSpaceValue"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of <see cref="T:System.Object"/> to convert to string.</typeparam>
            <param name="value">Value to convert to string.</param>
            <param name="nonNullNorWhiteSpaceValue"><see cref="T:System.String"/> to return if <paramref name="value"/> is null.</param>
            <returns><paramref name="value"/> as a string; if <paramref name="value"/> is null, DBNull, empty or all white space, <paramref name="nonNullNorWhiteSpaceValue"/> will be returned.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="nonNullNorWhiteSpaceValue"/> must not be null, an empty string or white space.</exception>
        </member>
        <member name="M:GSF.Common.TypeConvertToString(System.Object)">
            <summary>
            Converts <paramref name="value"/> to a <see cref="T:System.String"/> using an appropriate <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <param name="value">Value to convert to a <see cref="T:System.String"/>.</param>
            <returns><paramref name="value"/> converted to a <see cref="T:System.String"/>.</returns>
            <remarks>
            <para>
            If <see cref="T:System.ComponentModel.TypeConverter"/> fails, the value's <c>ToString()</c> value will be returned.
            Returned value will never be null, if no value exists an empty string ("") will be returned.
            </para>
            <para>
            You can use the <see cref="M:GSF.StringExtensions.ConvertToType``1(System.String)"/> string extension method to
            convert the string back to its original <see cref="T:System.Type"/>.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Common.TypeConvertToString(System.Object,System.Globalization.CultureInfo)">
            <summary>
            Converts <paramref name="value"/> to a <see cref="T:System.String"/> using an appropriate <see cref="T:System.ComponentModel.TypeConverter"/>.
            </summary>
            <param name="value">Value to convert to a <see cref="T:System.String"/>.</param>
            <param name="culture"><see cref="T:System.Globalization.CultureInfo"/> to use for the conversion.</param>
            <returns><paramref name="value"/> converted to a <see cref="T:System.String"/>.</returns>
            <remarks>
            <para>
            If <see cref="T:System.ComponentModel.TypeConverter"/> fails, the value's <c>ToString()</c> value will be returned.
            Returned value will never be null, if no value exists an empty string ("") will be returned.
            </para>
            <para>
            You can use the <see cref="M:GSF.StringExtensions.ConvertToType``1(System.String)"/> string extension method to
            convert the string back to its original <see cref="T:System.Type"/>.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Common.IsDefaultValue(System.Object)">
            <summary>Determines if given item is equal to its default value (e.g., null or 0.0).</summary>
            <param name="item">Object to evaluate.</param>
            <returns>Result of evaluation as a <see cref="T:System.Boolean"/>.</returns>
            <remarks>
            Native types default to zero, not null, therefore this can be used to evaluate if an item is its default (i.e., uninitialized) value.
            </remarks>
        </member>
        <member name="M:GSF.Common.IsReference(System.Object)">
            <summary>Determines if given item is a reference type.</summary>
            <param name="item">Object to evaluate.</param>
            <returns>Result of evaluation as a <see cref="T:System.Boolean"/>.</returns>
        </member>
        <member name="M:GSF.Common.IsNonStringReference(System.Object)">
            <summary>Determines if given item is a reference type but not a string.</summary>
            <param name="item">Object to evaluate.</param>
            <returns>Result of evaluation as a <see cref="T:System.Boolean"/>.</returns>
        </member>
        <member name="M:GSF.Common.IsNumeric(System.Object)">
            <summary>Determines if given item is numeric.</summary>
            <param name="item">Object to evaluate.</param>
            <returns>Result of evaluation as a <see cref="T:System.Boolean"/>.</returns>
        </member>
        <member name="M:GSF.Common.Min``1(``0[])">
            <summary>Returns the smallest item from a list of parameters.</summary>
            <typeparam name="T">Return type <see cref="T:System.Type"/> that is the minimum value in the <paramref name="itemList"/>.</typeparam>
            <param name="itemList">A variable number of parameters of the specified type.</param>
            <returns>Result is the minimum value of type <see cref="T:System.Type"/> in the <paramref name="itemList"/>.</returns>
        </member>
        <member name="M:GSF.Common.Max``1(``0[])">
            <summary>Returns the largest item from a list of parameters.</summary>
            <typeparam name="T">Return type <see cref="T:System.Type"/> that is the maximum value in the <paramref name="itemList"/>.</typeparam>
            <param name="itemList">A variable number of parameters of the specified type .</param>
            <returns>Result is the maximum value of type <see cref="T:System.Type"/> in the <paramref name="itemList"/>.</returns>
        </member>
        <member name="P:GSF.Common.SystemTimer">
            <summary>Gets a high-resolution number of seconds, including fractional seconds, that have
            elapsed since 12:00:00 midnight, January 1, 0001.</summary>
        </member>
        <member name="T:GSF.ComplexNumber">
            <summary>
            Represents a complex number.
            </summary>
        </member>
        <member name="M:GSF.ComplexNumber.#ctor(System.Double,System.Double)">
            <summary>
            Creates a <see cref="T:GSF.ComplexNumber"/> from the given rectangular values. 
            </summary>
            <param name="real">The real component of the <see cref="T:GSF.ComplexNumber"/>.</param>
            <param name="imaginary">The imaginary component of the <see cref="T:GSF.ComplexNumber"/>.</param>
        </member>
        <member name="M:GSF.ComplexNumber.#ctor(GSF.Units.Angle,System.Double)">
            <summary>
            Creates a <see cref="T:GSF.ComplexNumber"/> from the given polar values.
            </summary>
            <param name="angle">The <see cref="P:GSF.ComplexNumber.Angle"/> component, in radians, of the <see cref="T:GSF.ComplexNumber"/>.</param>
            <param name="magnitude">The magnitude (or absolute value) component of the <see cref="T:GSF.ComplexNumber"/>.</param>
        </member>
        <member name="M:GSF.ComplexNumber.#ctor(GSF.ComplexNumber)">
            <summary>
            Creates a <see cref="T:GSF.ComplexNumber"/> from the given <see cref="T:GSF.ComplexNumber"/>.
            </summary>
            <param name="z"><see cref="T:GSF.ComplexNumber"/> to be copied.</param>
        </member>
        <member name="M:GSF.ComplexNumber.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if <paramref name="obj"/> is an instance of ComplexNumber and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.ComplexNumber.Equals(GSF.ComplexNumber)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified ComplexNumber value.
            </summary>
            <param name="obj">A <see cref="T:GSF.ComplexNumber"/> to compare to this instance.</param>
            <returns>
            True if <paramref name="obj"/> has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.ComplexNumber.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.ComplexNumber.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this <see cref="T:GSF.ComplexNumber"/> instance.
            </returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Implicit(System.Double)~GSF.ComplexNumber">
            <summary>
            Implicitly converts a <see cref="T:System.Double"/> to a <see cref="T:GSF.ComplexNumber"/>.
            </summary>
            <param name="value">Operand.</param>
            <returns>ComplexNumber representing the result of the operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Equality(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean representing the result of the addition operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Inequality(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean representing the result of the inequality operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_UnaryNegation(GSF.ComplexNumber)">
            <summary>
            Returns the negated value.
            </summary>
            <param name="z">Left hand operand.</param>
            <returns>ComplexNumber representing the result of the unary negation operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Addition(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the addition operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Subtraction(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the subtraction operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Multiply(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the multiplication operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Division(GSF.ComplexNumber,GSF.ComplexNumber)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the division operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.Pow(GSF.ComplexNumber,System.Double)">
            <summary>
             Returns specified <see cref="T:GSF.ComplexNumber"/> raised to the specified power.
            </summary>
            <param name="z">Complex number to be raised to power <paramref name="y"/>.</param>
            <param name="y">Power to raise <see cref="T:GSF.ComplexNumber"/> <paramref name="z"/>.</param>
             <returns>ComplexNumber representing the result of the operation.</returns>
        </member>
        <member name="M:GSF.ComplexNumber.op_Exponent(GSF.ComplexNumber,System.Double)">
             <summary>
             Returns result of first value raised to power of second value.
             </summary>
            <param name="z">Complex number to be raised to power <paramref name="y"/>.</param>
            <param name="y">Power to raise <see cref="T:GSF.ComplexNumber"/> <paramref name="z"/>.</param>
             <returns>ComplexNumber representing the result of the operation.</returns>
        </member>
        <member name="P:GSF.ComplexNumber.Real">
            <summary>
            Gets or sets the real component of this <see cref="T:GSF.ComplexNumber"/>.
            </summary>
        </member>
        <member name="P:GSF.ComplexNumber.Imaginary">
            <summary>
            Gets or sets the imaginary component of this <see cref="T:GSF.ComplexNumber"/>.
            </summary>
        </member>
        <member name="P:GSF.ComplexNumber.Magnitude">
            <summary>
            Gets or sets the magnitude (a.k.a. the modulus or absolute value) of this <see cref="T:GSF.ComplexNumber"/>.
            </summary>
        </member>
        <member name="P:GSF.ComplexNumber.Angle">
            <summary>
            Gets or sets the <see cref="P:GSF.ComplexNumber.Angle"/> (a.k.a. the argument) in radians of this <see cref="T:GSF.ComplexNumber"/>.
            </summary>
        </member>
        <member name="P:GSF.ComplexNumber.Conjugate">
            <summary>
            Gets the complex conjugate of this <see cref="T:GSF.ComplexNumber"/>.
            </summary>
        </member>
        <member name="P:GSF.ComplexNumber.AllAssigned">
            <summary>
            Gets a boolean value indicating if each composite value of the <see cref="T:GSF.ComplexNumber"/> (i.e., real and imaginary) has been assigned a value.
            </summary>
            <returns>True, if all composite values have been assigned a value; otherwise, false.</returns>
        </member>
        <member name="P:GSF.ComplexNumber.NoneAssigned">
            <summary>
            Gets a boolean value indicating if each composite value of the <see cref="T:GSF.ComplexNumber"/> (i.e., real and imaginary) has not been assigned a value.
            </summary>
            <returns>True, if none of the composite values have been assigned a value; otherwise, false.</returns>
        </member>
        <member name="T:GSF.CompoundValue`1">
            <summary>
            Represents a collection of individual values that together represent a compound value once all the values have been assigned.
            </summary>
            <remarks>
            Composite values are stored as <see cref="T:System.Nullable`1"/> and can be cumulated until all values have been assigned so that a
            compound value can be created.
            </remarks>
            <typeparam name="T"><see cref="T:System.Type"/> of composite values.</typeparam>
        </member>
        <member name="M:GSF.CompoundValue`1.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.CompoundValue`1"/>.
            </summary>
        </member>
        <member name="M:GSF.CompoundValue`1.#ctor(System.Int32)">
            <summary>
            Creates a new <see cref="T:GSF.CompoundValue`1"/> specifing the total number of composite values to track.
            </summary>
            <remarks>
            The specified <paramref name="count"/> of items are added to the <see cref="T:GSF.CompoundValue`1"/>,
            each item will be marked as unassigned (i.e., null).
            </remarks>
            <param name="count">Total number of composite values to track.</param>
        </member>
        <member name="M:GSF.CompoundValue`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Creates a new <see cref="T:GSF.CompoundValue`1"/> from the specified list.
            </summary>
            <param name="values">List of values used to initialize <see cref="T:GSF.CompoundValue`1"/>.</param>
        </member>
        <member name="M:GSF.CompoundValue`1.#ctor(System.Collections.Generic.IEnumerable{System.Nullable{`0}})">
            <summary>
            Creates a new <see cref="T:GSF.CompoundValue`1"/> from the specified list.
            </summary>
            <param name="values">List of values used to initialize <see cref="T:GSF.CompoundValue`1"/>.</param>
        </member>
        <member name="M:GSF.CompoundValue`1.ToArray">
            <summary>
            Gets an array of all the <see cref="M:System.Nullable`1.GetValueOrDefault"/> elements of the <see cref="T:GSF.CompoundValue`1"/>.
            </summary>
            <returns>A new array containing copies of the <see cref="M:System.Nullable`1.GetValueOrDefault"/> elements of the <see cref="T:GSF.CompoundValue`1"/>.</returns>
        </member>
        <member name="P:GSF.CompoundValue`1.AllAssigned">
            <summary>
            Gets a boolean value indicating if all of the composite values have been assigned a value.
            </summary>
            <returns>True, if all composite values have been assigned a value; otherwise, false.</returns>
        </member>
        <member name="P:GSF.CompoundValue`1.NoneAssigned">
            <summary>
            Gets a boolean value indicating if none of the composite values have been assigned a value.
            </summary>
            <returns>True, if no composite values have been assigned a value; otherwise, false.</returns>
        </member>
        <member name="T:GSF.Configuration.AppSettingsBase">
            <summary>
            Represents the base class for application settings that are synchronized with the "appSettings" section in a configuration file.
            </summary>
            <remarks>
            <para>
            In order to make custom types serializable for the configuration file, implement a <see cref="T:System.ComponentModel.TypeConverter"/> for the type.<br/>
            See <a href="http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx">MSDN</a> for details.
            </para>
            <example>
            Here is an example class derived from <see cref="T:GSF.Configuration.AppSettingsBase"/> that automatically
            serializes its fields and properties to the configuration file.
            <code>
               public enum MyEnum
                {
                    One,
                    Two,
                    Three
                }
            
                public class MySettings : AppSettingsBase
                {
                    // Private property fields (private fields will not be serialized)
                    private double m_doubleVal;
            
                    // Public settings fields
                    public bool BoolVal = true;
                    public int IntVal = 1;
                    public float FloatVal = 3.14F;
                    public string StrVal = "This is a test...";
                    public MyEnum EnumVal = MyEnum.Three;
                    
                    [SettingName("UserOptions"), EncryptSetting()]
                    public string Password = "default";
            
                    // Mark this field to not be serialized to INI file...
                    [SerializeSetting(false)]
                    public decimal DecimalVal;
            
                    [Category("OtherSettings"), DefaultValue(1.159D)]
                    public double DoubleVal
                    {
                        get
                        {
                            return m_doubleVal;
                        }
                        set
                        {
                            m_doubleVal = value;
                        }
                    }
            
                    [SerializeSetting(false)]
                    public bool DontSerializeMe { get; set; }
                }
            </code>
            </example>
            </remarks>
        </member>
        <member name="T:GSF.Configuration.SettingsBase">
            <summary>
            Represents the base class for application settings that are synchronized with its configuration file.
            </summary>
            <remarks>
            In order to make custom types serializable for the configuration file, implement a <see cref="T:System.ComponentModel.TypeConverter"/> for the type.<br/>
            See <a href="http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx">MSDN</a> for details.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.#ctor(System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.SettingsBase"/> class for the application's configuration file.
            </summary>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the configuration file.
            </param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> object.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.CreateSetting(System.String,System.String,System.String)">
            <summary>
            Implementor should create setting in configuration file (or other location).
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.RetrieveSetting(System.String,System.String)">
            <summary>
            Implementor should retrieve setting from configuration file (or other location).
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <returns>Setting value.</returns>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.StoreSetting(System.String,System.String,System.String)">
            <summary>
            Implementor should store setting to configuration file (or other location).
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.PersistSettings">
            <summary>
            Implementor should persist any pending changes to configuration file (or other location).
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetSettingName(System.String)">
            <summary>
            Gets setting name to use for specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns><see cref="P:GSF.Configuration.SettingNameAttribute.Name"/> applied to specified field or property; or <paramref name="name"/> if attribute does not exist.</returns>
            <remarks>
            Field or property name will be used for setting name unless user applied a <see cref="T:GSF.Configuration.SettingNameAttribute"/>
            on the field or property to override name used to serialize value in configuration file.
            </remarks>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetDefaultValue(System.String)">
            <summary>
            Gets the default value specified by <see cref="T:System.ComponentModel.DefaultValueAttribute"/>, if any, applied to the specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Default value applied to specified field or property; or null if one does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetEncryptStatus(System.String)">
            <summary>
            Gets the encryption status specified by <see cref="T:GSF.Configuration.EncryptSettingAttribute"/>, if any, applied to the specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Encryption status applied to specified field or property; or <c>false</c> if one does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetEncryptKey(System.String)">
            <summary>
            Gets the optional private encryption key specified by <see cref="T:GSF.Configuration.EncryptSettingAttribute"/>, if any, applied to the specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Encryption private key applied to specified field or property; or <c>null</c> if one does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.CreateValue(System.String,System.Object)">
            <summary>
            Adds a setting to the application's configuration file, if it doesn't already exist.
            </summary>
            <param name="name">Field or property name.</param>
            <param name="value">Setting value.</param>
            <remarks>
            Use this function to ensure a setting exists, it will not override an existing value.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.SetValue(System.String,System.Object)">
            <summary>
            Copies the given value into the specified application setting.
            </summary>
            <param name="name">Field or property name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetValue``1(System.String)">
            <summary>
            Gets the application's configuration file setting converted to the given type.
            </summary>
            <typeparam name="T">Type to use for setting conversion.</typeparam>
            <param name="name">Field or property name.</param>
            <returns>Value of specified configuration file setting converted to the given type.</returns>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetValue(System.String,System.Type)">
            <summary>
            Gets the application's configuration file setting converted to the given type.
            </summary>
            <param name="name">Field or property name.</param>
            <param name="type">Setting type.</param>
            <returns>Value of specified configuration file setting converted to the given type.</returns>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetValue``1(System.String,``0@)">
            <summary>
            Copies the specified application setting into the given value.
            </summary>
            <typeparam name="T">Type to use for setting conversion.</typeparam>
            <param name="name">Field or property name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Initialize">
            <summary>
            Initializes configuration settings from derived class fields or properties.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.RestoreDefaultSettings">
            <summary>
            Restores the default settings of the configuration file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.DeriveDefaultValue(System.String,System.Object)">
            <summary>
            Attempts to get best default value for given member.
            </summary>
            <param name="name">Field or property name.</param>
            <param name="value">Current field or property value.</param>
            <remarks>
            If <paramref name="value"/> is equal to its default(type) value, then any value derived from <see cref="T:System.ComponentModel.DefaultValueAttribute"/> will be used instead.
            </remarks>
            <returns>The object that is the best default value.</returns>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetEnumerator">
            <summary>
            Returns an enumerator based on <see cref="T:System.String"/> elements that iterates over the field and property names of this class
            that are targeted for serialization to the configuration file.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.</returns>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Load">
            <summary>
            Loads configuration file into setting fields.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.Save">
            <summary>
            Saves setting fields into configuration file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.ExecuteActionForFields(System.Action{System.Reflection.FieldInfo})">
            <summary>
            Executes specified action over all public derived class member fields.
            </summary>
            <param name="fieldAction">Action to excute for all derived class member fields.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.ExecuteActionForProperties(System.Action{System.Reflection.PropertyInfo},System.Reflection.BindingFlags)">
            <summary>
            Executes specified action over all public derived class properties.
            </summary>
            <param name="propertyAction">Action to execute for all properties.</param>
            <param name="isGetOrSet"><see cref="F:System.Reflection.BindingFlags.GetProperty"/> or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</param>
        </member>
        <member name="M:GSF.Configuration.SettingsBase.GetAttributeValue``2(System.String,``1,System.Func{``0,``1})">
            <summary>
            Attempts to find specified attribute and return specified value.
            </summary>
            <typeparam name="TAttribute">Type of <see cref="T:System.Attribute"/> to find.</typeparam>
            <typeparam name="TValue">Type of value attribute delegate returns.</typeparam>
            <param name="name">Name of field or property to search for attribute.</param>
            <param name="defaultValue">Default value to return if attribute doesn't exist.</param>
            <param name="attributeValue">Function delegate used to return desired attribute property.</param>
            <returns>Specified attribute value if it exists; otherwise default value.</returns>
        </member>
        <member name="P:GSF.Configuration.SettingsBase.Culture">
            <summary>
            Gets or sets the <see cref="T:System.Globalization.CultureInfo"/> to use for the conversion of setting values to and from <see cref="T:System.String"/>.
            </summary>
        </member>
        <member name="P:GSF.Configuration.SettingsBase.MemberAccessBindingFlags">
            <summary>
            Gets or sets <see cref="T:System.Reflection.BindingFlags"/> used to access fields and properties of derived class.
            </summary>
            <remarks>
            Value defaults to <c><see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/></c>.
            </remarks>
        </member>
        <member name="P:GSF.Configuration.SettingsBase.RequireSerializeSettingAttribute">
            <summary>
            Gets or sets flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is
            required to exist before a field or property is serialized to the configuration
            file; defaults to False.
            </summary>
        </member>
        <member name="P:GSF.Configuration.SettingsBase.Item(System.String)">
            <summary>
            Gets or sets the value of the specified field or property.
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Value of setting.</returns>
            <remarks>This is the default member of this class.</remarks>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.AppSettingsBase"/> class for the application's configuration file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.#ctor(GSF.Configuration.ConfigurationFile,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.AppSettingsBase"/> class for the application's configuration file.
            </summary>
            <param name="configFile">Configuration file used for accessing settings.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the configuration file.
            </param>
            <param name="initialize">Determines if <see cref="M:GSF.Configuration.SettingsBase.Initialize"/> method should be called from constructor.</param>
            <remarks>
            Note that some .NET languages (e.g., Visual Basic) will not initialize member elements before call to constuctor,
            in this case <paramref name="initialize"/> should be set to <c>false</c>, then the <see cref="M:GSF.Configuration.SettingsBase.Initialize"/>
            method should be called manually after all properties have been initialized. Alternately, consider using the
            <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the fields or properties and this will be used to initialize the values.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.CreateSetting(System.String,System.String,System.String)">
            <summary>
            Create setting in configuration file if it doesn't already exist.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.RetrieveSetting(System.String,System.String)">
            <summary>
            Retrieves setting from configuration file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <returns>Setting value.</returns>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.StoreSetting(System.String,System.String,System.String)">
            <summary>
            Stores setting to configuration file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.AppSettingsBase.PersistSettings">
            <summary>
            Persist any pending changes to configuration file.
            This method is for internal use.
            </summary>
        </member>
        <member name="P:GSF.Configuration.AppSettingsBase.ConfigFile">
            <summary>
            Gets or sets reference to working configuration file.
            </summary>
            <exception cref="T:System.NullReferenceException">value cannot be null.</exception>
        </member>
        <member name="T:GSF.Configuration.CategorizedSettingsBase">
            <summary>
            Represents the base class for application settings that are synchronized with a categorized section in a configuration file.
            </summary>
            <remarks>
            <para>
            In order to make custom types serializable for the configuration file, implement a <see cref="T:System.ComponentModel.TypeConverter"/> for the type.<br/>
            See <a href="http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx">MSDN</a> for details.
            </para>
            <example>
            Here is an example class derived from <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> that automatically
            serializes its fields and properties to the configuration file.
            <code>
               public enum MyEnum
                {
                    One,
                    Two,
                    Three
                }
            
                public class MySettings : CategorizedSettingsBase
                {
                    // Private property fields (private fields will not be serialized)
                    private double m_doubleVal;
            
                    // Public settings fields
                    public bool BoolVal = true;
                    public int IntVal = 1;
                    public float FloatVal = 3.14F;
                    public string StrVal = "This is a test...";
                    public MyEnum EnumVal = MyEnum.Three;
                    
                    [SettingName("UserOptions"), EncryptSetting()]
                    public string Password = "default";
            
                    // Mark this field to not be serialized to configuration file...
                    [SerializeSetting(false)]
                    public decimal DecimalVal;
            
                    public MySettings()
                        : base("GeneralSettings") {}
            
                    [Category("OtherSettings"), Description("My double value setting description."), DefaultValue(1.159D)]
                    public double DoubleVal
                    {
                        get
                        {
                            return m_doubleVal;
                        }
                        set
                        {
                            m_doubleVal = value;
                        }
                    }
            
                    [SerializeSetting(false)]
                    public bool DontSerializeMe { get; set; }
                }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.#ctor(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> class for the application's configuration file.
            </summary>
            <param name="categoryName">Name of default category to use to get and set settings from configuration file.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.#ctor(System.String,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> class for the application's configuration file.
            </summary>
            <param name="categoryName">Name of default category to use to get and set settings from configuration file.</param>
            <param name="useCategoryAttributes">Determines if category attributes will be used for category names.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the configuration file.
            </param>
            <remarks>
            If <paramref name="useCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <paramref name="categoryName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the configuration file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <paramref name="categoryName"/> value.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.#ctor(GSF.Configuration.ConfigurationFile,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> class for the application's configuration file.
            </summary>
            <param name="configFile">Configuration file used for accessing settings.</param>
            <param name="categoryName">Name of default category to use to get and set settings from configuration file.</param>
            <param name="useCategoryAttributes">Determines if category attributes will be used for category names.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the configuration file.
            </param>
            <param name="initialize">Determines if <see cref="M:GSF.Configuration.SettingsBase.Initialize"/> method should be called from constructor.</param>
            <remarks>
            <para>
            If <paramref name="useCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <paramref name="categoryName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the configuration file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <paramref name="categoryName"/> value.
            </para>
            <para>
            Note that some .NET languages (e.g., Visual Basic) will not initialize member elements before call to constuctor,
            in this case <paramref name="initialize"/> should be set to <c>false</c>, then the <see cref="M:GSF.Configuration.SettingsBase.Initialize"/>
            method should be called manually after all properties have been initialized. Alternately, consider using the
            <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the fields or properties and this will be used to initialize the values.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.CreateSetting(System.String,System.String,System.String)">
            <summary>
            Create setting in configuration file if it doesn't already exist.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.RetrieveSetting(System.String,System.String)">
            <summary>
            Retrieves setting from configuration file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <returns>Setting value.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.StoreSetting(System.String,System.String,System.String)">
            <summary>
            Stores setting to configuration file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.PersistSettings">
            <summary>
            Persist any pending changes to configuration file.
            This method is for internal use.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.GetCategoryName(System.String)">
            <summary>
            Gets the category name to use for the specified field or property.
            </summary>
            <param name="name">Field or property name.</param>
            <returns><see cref="P:System.ComponentModel.CategoryAttribute.Category"/> applied to specified field or property; or <see cref="P:GSF.Configuration.CategorizedSettingsBase.CategoryName"/> if attribute does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
            <remarks>
            <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> will only be returned if <see cref="P:GSF.Configuration.CategorizedSettingsBase.UseCategoryAttributes"/> is <c>true</c>; otherwise
            <see cref="P:GSF.Configuration.CategorizedSettingsBase.CategoryName"/> value will be returned.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.GetDescription(System.String)">
            <summary>
            Gets the description specified by <see cref="T:System.ComponentModel.DescriptionAttribute"/>, if any, applied to the specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Description applied to specified field or property; or null if one does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsBase.GetSettingScope(System.String)">
            <summary>
            Gets the <see cref="T:GSF.Configuration.SettingScope"/> specified by <see cref="T:System.Configuration.UserScopedSettingAttribute"/>, if any, applied to the specified field or property. 
            </summary>
            <param name="name">Field or property name.</param>
            <returns>Description applied to specified field or property; or null if one does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsBase.ConfigFile">
            <summary>
            Gets or sets reference to working configuration file.
            </summary>
            <exception cref="T:System.NullReferenceException">value cannot be null.</exception>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsBase.CategoryName">
            <summary>
            Gets or sets default category name of section used to access settings in configuration file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsBase.UseCategoryAttributes">
            <summary>
            Gets or sets value that determines whether a <see cref="T:System.ComponentModel.CategoryAttribute"/> applied to a field or property
            will be used for the category name.
            </summary>
            <remarks>
            If <see cref="P:GSF.Configuration.CategorizedSettingsBase.UseCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <see cref="P:GSF.Configuration.CategorizedSettingsBase.CategoryName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the configuration file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <see cref="P:GSF.Configuration.CategorizedSettingsBase.CategoryName"/> value.
            </remarks>
        </member>
        <member name="T:GSF.Configuration.SettingScope">
            <summary>
            Specifies the scope of a setting represented by <see cref="T:GSF.Configuration.CategorizedSettingsElement"/>.
            </summary>
        </member>
        <member name="F:GSF.Configuration.SettingScope.User">
            <summary>
            Settings is intended for user specific use.
            </summary>
        </member>
        <member name="F:GSF.Configuration.SettingScope.Application">
            <summary>
            Settings is intended for application wide use.
            </summary>
        </member>
        <member name="T:GSF.Configuration.CategorizedSettingsElement">
            <summary>
            Represents a settings entry in the config file.
            </summary>
        </member>
        <member name="F:GSF.Configuration.CategorizedSettingsElement.DefaultValue">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Configuration.CategorizedSettingsElement.Value"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.CategorizedSettingsElement.DefaultDescription">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Configuration.CategorizedSettingsElement.Description"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.CategorizedSettingsElement.DefaultEncrypted">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Configuration.CategorizedSettingsElement.Encrypted"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.CategorizedSettingsElement.DefaultScope">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Configuration.CategorizedSettingsElement.Scope"/> property.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.#ctor(GSF.Configuration.CategorizedSettingsElementCollection)">
            <summary>
            Required by the configuration API and is for internal use only.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.#ctor(GSF.Configuration.CategorizedSettingsElementCollection,System.String)">
            <summary>
            Required by the configuration API and is for internal use only.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.SetCryptoKey(System.String)">
            <summary>
            Sets the key to be used for encrypting and decrypting the <see cref="P:GSF.Configuration.CategorizedSettingsElement.Value"/>.
            </summary>
            <param name="cryptoKey">New crypto key.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.Update(System.Object)">
            <summary>
            Updates setting information.
            </summary>
            <param name="value">New setting value.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.Update(System.Object,System.String)">
            <summary>
            Updates setting information.
            </summary>
            <param name="value">New setting value.</param>
            <param name="description">New setting description.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.Update(System.Object,System.String,System.Boolean)">
            <summary>
            Updates setting information.
            </summary>
            <param name="value">New setting value.</param>
            <param name="description">New setting description.</param>
            <param name="encrypted">A boolean value that indicated whether the new setting value is to be encrypted.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.Update(System.Object,System.String,System.Boolean,GSF.Configuration.SettingScope)">
            <summary>
            Updates setting information.
            </summary>
            <param name="value">New setting value.</param>
            <param name="description">New setting description.</param>
            <param name="encrypted">A boolean value that indicated whether the new setting value is to be encrypted.</param>
            <param name="scope">One of the <see cref="T:GSF.Configuration.SettingScope"/> values.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAs``1">
            <summary>
            Gets the setting value as the specified type.
            </summary>
            <typeparam name="T">Type to which the setting value is to be converted.</typeparam>
            <returns>The type-coerced value of the setting.</returns>
            <remarks>
            If this function fails to properly coerce value to specified type, the default value is returned.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAs``1(``0)">
            <summary>
            Gets the setting value as the specified type.
            </summary>
            <typeparam name="T">Type to which the setting value is to be converted.</typeparam>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>The type-coerced value of the setting.</returns>
            <remarks>
            If this function fails to properly coerce value to specified type, the default value is returned.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsString">
            <summary>
            Gets the setting value as a string.
            </summary>
            <returns>Value as string.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsString(System.String)">
            <summary>
            Gets the setting value as a string.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as string.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsBoolean">
            <summary>
            Gets the setting value as a boolean.
            </summary>
            <returns>Value as boolean.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsBoolean(System.Boolean)">
            <summary>
            Gets the setting value as a boolean.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as boolean.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsByte">
            <summary>
            Gets the setting value as a byte.
            </summary>
            <returns>Value as byte.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsByte(System.Byte)">
            <summary>
            Gets the setting value as a byte.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as byte.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsSByte">
            <summary>
            Gets the setting value as a signed byte.
            </summary>
            <returns>Value as signed byte.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsSByte(System.SByte)">
            <summary>
            Gets the setting value as a signed byte.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as signed byte.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsChar">
            <summary>
            Gets the setting value as a char.
            </summary>
            <returns>Value as char.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsChar(System.Char)">
            <summary>
            Gets the setting value as a char.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as char.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt16">
            <summary>
            Gets the setting value as a short.
            </summary>
            <returns>Value as short.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt16(System.Int16)">
            <summary>
            Gets the setting value as a short.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as short.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt32">
            <summary>
            Gets the setting value as an int.
            </summary>
            <returns>Value as int.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt32(System.Int32)">
            <summary>
            Gets the setting value as an int.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as int.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt64">
            <summary>
            Gets the setting value as a long.
            </summary>
            <returns>Value as long.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsInt64(System.Int64)">
            <summary>
            Gets the setting value as a long.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as long.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt16">
            <summary>
            Gets the setting value as an unsigned short.
            </summary>
            <returns>Value as unsigned short.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt16(System.UInt16)">
            <summary>
            Gets the setting value as an unsigned short.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as unsigned short.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt32">
            <summary>
            Gets the setting value as an unsigned int.
            </summary>
            <returns>Value as unsigned int.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt32(System.UInt32)">
            <summary>
            Gets the setting value as an unsigned int.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as unsigned int.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt64">
            <summary>
            Gets the setting value as an unsigned long.
            </summary>
            <returns>Value as unsigned long.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsUInt64(System.UInt64)">
            <summary>
            Gets the setting value as an unsigned long.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as unsigned long.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsSingle">
            <summary>
            Gets the setting value as a float.
            </summary>
            <returns>Value as float.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsSingle(System.Single)">
            <summary>
            Gets the setting value as a float.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as float.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDouble">
            <summary>
            Gets the setting value as a double.
            </summary>
            <returns>Value as double.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDouble(System.Double)">
            <summary>
            Gets the setting value as a double.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as double.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDecimal">
            <summary>
            Gets the setting value as a decimal.
            </summary>
            <returns>Value as decimal.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDecimal(System.Decimal)">
            <summary>
            Gets the setting value as a decimal.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as decimal.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDateTime">
            <summary>
            Gets the setting value as DateTime.
            </summary>
            <returns>Value as DateTime.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElement.ValueAsDateTime(System.DateTime)">
            <summary>
            Gets the setting value as DateTime.
            </summary>
            <param name="defaultValue">The default value to return if the setting value is empty.</param>
            <returns>Value as DateTime.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Category">
            <summary>
            Gets or sets the <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> to which this <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> belongs.
            </summary>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Name">
            <summary>
            Gets or sets the identifier of the setting.
            </summary>
            <returns>The identifier of the setting.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Value">
            <summary>
            Gets or sets the value of the setting.
            </summary>
            <returns>The value of the setting.</returns>
            <remarks>
            <see cref="P:GSF.Configuration.CategorizedSettingsElement.Value"/> can reference the value of another setting using <b>Eval([Section].[Setting])</b> syntax or the value of a known .NET 
            type's static member (field, non-indexed property or parameterless method) using <b>Eval([Type].[Member])</b> syntax as shown in the example below:
            <code>
            <![CDATA[
            <?xml version="1.0"?>
            <configuration>
              <configSections>
                <section name="categorizedSettings" type="GSF.Configuration.CategorizedSettingsSection, GSF.Core" />
              </configSections>
              <categorizedSettings>
                <database>
                  <add name="SettingsTable" value="dbo.Settings" description="Table that contains the settings." 
                    encrypted="false" />
                  <add name="AdminEmail" value="SELECT * FROM Eval(Database.SettingsTable) WHERE Name = 'AdminEmail'" 
                    description="Email address of the administrator." encrypted="false" />
                  <add name="AuditQuery" value="SELECT * FROM dbo.Log WHERE EntryTime < 'Eval(System.DateTime.UtcNow)'" 
                    description="Query for retrieving audit records." encrypted="false" />
                </database>
              </categorizedSettings>
            </configuration>
            ]]>
            </code>
            </remarks>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Description">
            <summary>
            Gets or sets the description of the setting.
            </summary>
            <returns>The description of the setting.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Encrypted">
            <summary>
            Gets or sets a boolean value that indicates whether the setting value is to be encrypted.
            </summary>
            <returns>true, if the setting value is to be encrypted; otherwise false.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElement.Scope">
            <summary>
            Gets or sets the <see cref="T:GSF.Configuration.SettingScope"/>.
            </summary>
        </member>
        <member name="T:GSF.Configuration.CategorizedSettingsElementCollection">
            <summary>
            Represents a collection of <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> objects.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.SetCryptoKey(System.String)">
            <summary>
            Sets the key to be used for encrypting and decrypting setting values.
            </summary>
            <param name="cryptoKey">New crypto key.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.IndexOf(GSF.Configuration.CategorizedSettingsElement)">
            <summary>
            Gets the index of the specified <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.
            </summary>
            <param name="setting">The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object whose index is to be retrieved.</param>
            <returns>Index of the specified <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if found; otherwise -1.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Add(System.String,System.Object)">
            <summary>
            Adds a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if one does not exist.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="value">Value of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Add(System.String,System.Object,System.String)">
            <summary>
            Adds a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if one does not exist.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="value">Value of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="description">Description of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Add(System.String,System.Object,System.String,System.Boolean)">
            <summary>
            Adds a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if one does not exist.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="value">Value of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="description">Description of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="encryptValue">true if the Value of <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object is to be encrypted; otherwise false.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Add(System.String,System.Object,System.String,System.Boolean,GSF.Configuration.SettingScope)">
            <summary>
            Adds a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if one does not exist.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="value">Value of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="description">Description of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <param name="encryptValue">true if the Value of <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object is to be encrypted; otherwise false.</param>
            <param name="scope">One of the <see cref="T:GSF.Configuration.SettingScope"/> values.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Add(GSF.Configuration.CategorizedSettingsElement)">
            <summary>
            Adds a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if one does not exist.
            </summary>
            <param name="setting">The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to add.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Remove(System.String)">
            <summary>
            Removes a <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if it exists.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to remove.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Remove(GSF.Configuration.CategorizedSettingsElement)">
            <summary>
            Removes a <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object if it exists.
            </summary>
            <param name="setting">The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to remove.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.RemoveAt(System.Int32)">
            <summary>
            Removes the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object at the specified index location.
            </summary>
            <param name="index">Index location of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to remove.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.Clear">
            <summary>
            Removes all existing <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> objects.
            </summary>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.CreateNewElement">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.
            </summary>
            <returns>Instance of <see cref="T:GSF.Configuration.CategorizedSettingsElement"/>.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.CreateNewElement(System.String)">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.
            </summary>
            <param name="elementName">Name identifying the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</param>
            <returns>Instance of <see cref="T:GSF.Configuration.CategorizedSettingsElement"/>.</returns>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsElementCollection.GetElementKey(System.Configuration.ConfigurationElement)">
            <summary>
            Gets the key for a <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.
            </summary>
            <param name="element"><see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object whose key is to be retrieved.</param>
            <returns>String key value for a <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElementCollection.Name">
            <summary>
            Gets or sets the name of the <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/>.
            </summary>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElementCollection.Section">
            <summary>
            Gets or sets the <see cref="T:GSF.Configuration.CategorizedSettingsSection"/> to which this <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> belongs.
            </summary>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElementCollection.Item(System.Int32)">
            <summary>
            Gets or sets the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object at the specified index.
            </summary>
            <param name="index">Zero-based index for the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to retrieve.</param>
            <returns>The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object at the specified index if it exists; otherwise null.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElementCollection.Item(System.String)">
            <summary>
            Gets the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object with the specified name.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to retrieve.</param>
            <returns>The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object with the specified name if it exists; otherwise null.</returns>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsElementCollection.Item(System.String,System.Boolean)">
            <summary>
            Gets the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object with the specified name.
            </summary>
            <param name="name">Name of the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object to retrieve.</param>
            <param name="ensureExistance">true if the <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object is to be created if it does not exist; otherwise false.</param>
            <returns>The <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> object with the specified name if it exists; otherwise null.</returns>
        </member>
        <member name="T:GSF.Configuration.CategorizedSettingsSection">
            <summary>
            Represents a section in the config file with one or more <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> 
            representing categories, each containing one or more <see cref="T:GSF.Configuration.CategorizedSettingsElement"/> objects 
            representing settings under a specific category.
            </summary>
            <seealso cref="T:GSF.Configuration.CategorizedSettingsElement"/>
            <seealso cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsSection.SetCryptoKey(System.String)">
            <summary>
            Sets the key to be used for encrypting and decrypting setting values.
            </summary>
            <param name="cryptoKey">New crypto key.</param>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsSection.Remove(System.String)">
            <summary>
            Removes the specified category name including its associated settings.
            </summary>
            <param name="name">Name of the category to be removed.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="name"/> is null or empty string.</exception>
        </member>
        <member name="M:GSF.Configuration.CategorizedSettingsSection.DeserializeSection(System.Xml.XmlReader)">
            <summary>
            Reads XML from the configuration file.
            </summary>
            <param name="reader">The <see cref="T:System.Xml.XmlReader"/> object, which reads from the configuration file.</param>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsSection.File">
            <summary>
            Gets or sets the <see cref="T:GSF.Configuration.ConfigurationFile"/> to which this <see cref="T:GSF.Configuration.CategorizedSettingsSection"/> belongs.
            </summary>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsSection.Item(System.String)">
            <summary>
            Gets the <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> object representing settings under the specified category name.
            </summary>
            <param name="name">Name of the category whose settings are to be retrieved.</param>
            <returns><see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> object with settings under the specified category name.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="name"/> is null or empty string.</exception>
        </member>
        <member name="P:GSF.Configuration.CategorizedSettingsSection.General">
            <summary>
            Gets the <see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> object representing settings under "general" category.
            </summary>
            <returns><see cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/> object with settings under the "general" category.</returns>
        </member>
        <member name="T:GSF.Configuration.ConfigurationFile">
            <summary>
            Represents a configuration file of a Windows or Web application.
            </summary>
            <example>
            This example shows how to save and read settings from the config file:
            <code>
            using System;
            using System.Configuration;
            using GSF;
            using GSF.Configuration;
            
            class Program
            {
                static void Main(string[] args)
                {
                    // Get the application config file.
                    ConfigurationFile config = ConfigurationFile.Current;
            
                    // Get the sections of config file.
                    CategorizedSettingsElementCollection startup = config.Settings["Startup"];
                    CategorizedSettingsElementCollection passwords = config.Settings["Passwords"];
                    CategorizedSettingsElementCollection monitoring = config.Settings["Monitoring"];
                    KeyValueConfigurationCollection appSettings = config.Configuration.AppSettings.Settings;
                    ConnectionStringSettingsCollection connStrings = config.Configuration.ConnectionStrings.ConnectionStrings;
            
                    // Add settings to the config file under the "appSettings" section.
                    appSettings.Add("SaveSettingOnExit", true.ToString());
                    // Add settings to the config file under the "connectionStrings" section.
                    connStrings.Add(new ConnectionStringSettings("DevSql", "Server=SqlServer;Database=Sandbox;Trusted_Connection=True"));
                    // Add settings to the config (if they don't exist) under a custom "monitoring" section.
                    monitoring.Add("RefreshInterval", 5, "Interval in seconds at which the Monitor screen is to be refreshed.");
                    monitoring.Add("MessagesSnapshot", 30000, "Maximum messages length to be displayed on the Monitor screen.");
                    // Add password to the config file encrypted (if it doesn't exist) under a custom "passwords" section.
                    passwords.Add("Admin", "Adm1nP4ss", "Password used for performing administrative tasks.", true);
                    // Add user-scope setting to the config (if it doesn't exist) under a custom "startup" section.
                    startup.Add("Theme", "Default", "Application theme to use for the session.", false, SettingScope.User);
                    config.Save();  // Save settings to the config file.
            
                    // Read saved settings from the config file.
                    bool saveSettingsOnExit = appSettings["SaveSettingOnExit"].Value.ParseBoolean();
                    string devConnectionString = connStrings["DevSql"].ConnectionString;
                    string appTheme = startup["Theme"].Value;
                    string adminPassword = passwords["Admin"].Value;
                    int refreshInterval = monitoring["RefreshInterval"].ValueAsInt32();
                    int messagesSnapshot = monitoring["MessagesSnapshot"].ValueAsInt32();
            
                    // Print the retrieved settings to the console.
                    Console.WriteLine("SaveSettingOnExit = {0}", saveSettingsOnExit);
                    Console.WriteLine("DevSql = {0}", devConnectionString);
                    Console.WriteLine("Theme = {0}", appTheme);
                    Console.WriteLine("Admin = {0}", adminPassword);
                    Console.WriteLine("RefreshInterval = {0}", refreshInterval);
                    Console.WriteLine("MessagesSnapshot = {0}", messagesSnapshot);
            
                    Console.ReadLine();
                }
            }
            </code>
            This example shows the content of the config file from the sample code above:
            <code>
            <![CDATA[
            <?xml version="1.0" encoding="utf-8"?>
            <configuration>
              <configSections>
                <section name="categorizedSettings" type="GSF.Configuration.CategorizedSettingsSection, GSF.Core" />
              </configSections>
              <appSettings>
                <add key="SaveSettingOnExit" value="True" />
              </appSettings>
              <categorizedSettings>
                <startup>
                  <add name="Theme" value="Default" description="Application theme to use for the session."
                    encrypted="false" scope="User" />
                </startup>
                <passwords>
                  <add name="Admin" value="C+0j6fE/N0Q9b5xaeDKgvRmSeY9zJkO1EQCr7cHoG3x24tztlbBB54PfWsuMGXc/"
                    description="Password used for performing administrative tasks."
                    encrypted="true" />
                </passwords>
                <monitoring>
                  <add name="RefreshInterval" value="5" description="Interval in seconds at which the Monitor screen is to be refreshed."
                    encrypted="false" />
                  <add name="MessagesSnapshot" value="30000" description="Maximum messages length to be displayed on the Monitor screen."
                    encrypted="false" />
                </monitoring>
              </categorizedSettings>
              <connectionStrings>
                <add name="DevSql" connectionString="Server=SqlServer;Database=Sandbox;Trusted_Connection=True" />
              </connectionStrings>
            </configuration>
            ]]>
            </code>
            </example>
            <seealso cref="T:GSF.Configuration.CategorizedSettingsSection"/>
            <seealso cref="T:GSF.Configuration.CategorizedSettingsElement"/>
            <seealso cref="T:GSF.Configuration.CategorizedSettingsElementCollection"/>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Configuration.ConfigurationFile"/> class.
            </summary>        
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.Save">
            <summary>
            Writes the configuration settings contained within this <see cref="T:GSF.Configuration.ConfigurationFile"/> object to the configuration file that it represents.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.Save(System.Configuration.ConfigurationSaveMode)">
            <summary>
            Writes the configuration settings contained within this <see cref="T:GSF.Configuration.ConfigurationFile"/> object to the configuration file that it represents.
            </summary>
            <param name="saveMode">One of the <see cref="T:System.Configuration.ConfigurationSaveMode"/> values.</param>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.SaveAs(System.String)">
            <summary>
            Writes the configuration settings contained within this <see cref="T:GSF.Configuration.ConfigurationFile"/> object to the specified configuration file.
            </summary>
            <param name="fileName">The path and file name to save the configuration file to.</param>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.Reload">
            <summary>
            Reloads the current configuration settings from the configuration file that the <see cref="T:GSF.Configuration.ConfigurationFile"/> represents.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.RestoreDefaultUserSettings">
            <summary>
            Restores all the default settings for <see cref="F:GSF.Configuration.SettingScope.User"/> scoped settings.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.SetCryptoKey(System.String)">
            <summary>
            Sets the key to be used for encrypting and decrypting values of <see cref="P:GSF.Configuration.ConfigurationFile.Settings"/>.
            </summary>
            <param name="cryptoKey">New crypto key.</param>
        </member>
        <member name="M:GSF.Configuration.ConfigurationFile.Open(System.String)">
            <summary>
            Opens application config file at the specified <paramref name="configFilePath"/>.
            </summary>
            <param name="configFilePath">Path of the config file that belongs to a Windows or Web application.</param>
            <returns>An <see cref="T:GSF.Configuration.ConfigurationFile"/> object.</returns>
        </member>
        <member name="P:GSF.Configuration.ConfigurationFile.Culture">
            <summary>
            Gets or sets the <see cref="T:System.Globalization.CultureInfo"/> to use for the conversion of setting values to and from <see cref="T:System.String"/>.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConfigurationFile.Configuration">
            <summary>
            Get the underlying <see cref="T:System.Configuration.Configuration"/> that can be accessed using this <see cref="T:GSF.Configuration.ConfigurationFile"/> object.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConfigurationFile.Settings">
            <summary>
            Gets the <see cref="T:GSF.Configuration.CategorizedSettingsSection"/> object representing settings under the "categorizedSettings" section of the config file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConfigurationFile.UserSettings">
            <summary>
            Gets the <see cref="T:GSF.Configuration.ConfigurationFile.UserConfigurationFile"/> where user specific settings are saved.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConfigurationFile.Current">
            <summary>
            Gets the <see cref="T:GSF.Configuration.ConfigurationFile"/> object that represents the config file of the currently executing Windows or Web application.
            </summary>
        </member>
        <member name="T:GSF.Configuration.ConnectionStringParser">
            <summary>
            Parses connection strings based on a settings object whose properties
            are annotated with the <see cref="T:GSF.Configuration.SerializeSettingAttribute"/>.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultParameterDelimiter">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.ParameterDelimiter"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultKeyValueDelimiter">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.KeyValueDelimiter"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultStartValueDelimiter">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.StartValueDelimiter"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultEndValueDelimiter">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.EndValueDelimiter"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultExplicitlySpecifyDefaults">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.ExplicitlySpecifyDefaults"/> property.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.DefaultSerializeUnspecifiedProperties">
            <summary>
            Default value for the <see cref="P:GSF.Configuration.ConnectionStringParser.SerializeUnspecifiedProperties"/> property.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.ConnectionStringParser"/> class.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.ComposeConnectionString(System.Object)">
            <summary>
            Serializes the given <paramref name="settingsObject"/> into a connection string.
            </summary>
            <param name="settingsObject">The object whose properties are to be serialized.</param>
            <returns>A connection string containing the serialized properties.</returns>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.ParseConnectionString(System.String,System.Object)">
            <summary>
            Deserializes the connection string parameters into the given <paramref name="settingsObject"/>.
            </summary>
            <param name="connectionString">The connection string to be parsed.</param>
            <param name="settingsObject">The object whose properties are to be populated with values from the connection string.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="settingsObject"/> is null.</exception>
            <exception cref="T:System.ArgumentException">A required connection string parameter cannot be found in the connection string.</exception>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.GetConnectionStringProperties(System.Type)">
            <summary>
            Gets the set of properties which are part of the connection string.
            </summary>
            <param name="settingsObjectType">The type of the settings object used to look up properties via reflection.</param>
            <returns>The set of properties which are part of the connection string.</returns>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.ConvertToPropertyType(System.String,GSF.Configuration.ConnectionStringParser.ConnectionStringProperty)">
            <summary>
            Converts the given string value to the type of the given property.
            </summary>
            <param name="value">The string value to be converted.</param>
            <param name="property">The property used to determine what type to convert to.</param>
            <returns>The given string converted to the type of the given property.</returns>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.ConvertToString(System.Object,GSF.Configuration.ConnectionStringParser.ConnectionStringProperty)">
            <summary>
            Converts the given object to a string.
            </summary>
            <param name="obj">The object to be converted.</param>
            <param name="property">The property which defines the type of the object.</param>
            <returns>The object converted to a string.</returns>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.ParameterDelimiter">
            <summary>
            Gets or sets the parameter delimiter used to
            separate key-value pairs in the connection string.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.KeyValueDelimiter">
            <summary>
            Gets or sets the key-value delimiter used to
            separate keys from values in the connection string.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.StartValueDelimiter">
            <summary>
            Gets or sets the start value delimiter used to denote the
            start of a value in the cases where the value contains one
            of the delimiters defined for the connection string.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.EndValueDelimiter">
            <summary>
            Gets or sets the end value delimiter used to denote the
            end of a value in the cases where the value contains one
            of the delimiters defined for the connection string.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.ExplicitlySpecifyDefaults">
            <summary>
            Gets or sets the flag that determines whether to explicitly
            specify parameter values that match their defaults when
            serializing settings to a connection string.
            </summary>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser.SerializeUnspecifiedProperties">
            <summary>
            Gets or sets the flag that determines whether to include properties which are not
            annotated with the <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> in the connection string.
            </summary>
        </member>
        <member name="T:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty">
            <summary>
            Stores reflected information from a <see cref="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.PropertyInfo"/>
            object used to parse connection strings.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.PropertyInfo">
            <summary>
            The <see cref="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.PropertyInfo"/> object.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.Converter">
            <summary>
            The type converter used to convert the value
            of this property to and from a string.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.Names">
            <summary>
            The name of the property as it appears in the connection string.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.DefaultValue">
            <summary>
            The default value of the property if its value
            is not explicitly specified in the connection string.
            </summary>
        </member>
        <member name="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.Required">
            <summary>
            Indicates whether or not the property is required
            to be explicitly defined in the connection string.
            </summary>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.#ctor(System.Reflection.PropertyInfo)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty"/> class.
            </summary>
            <param name="propertyInfo">The <see cref="F:GSF.Configuration.ConnectionStringParser.ConnectionStringProperty.PropertyInfo"/> object.</param>
        </member>
        <member name="T:GSF.Configuration.ConnectionStringParser`1">
            <summary>
            Parses connection strings based on a settings object whose properties
            are annotated with <typeparamref name="TParameterAttribute"/>.
            </summary>
            <typeparam name="TParameterAttribute">
            The type of the attribute to search for when determining whether
            to serialize a property to the connection string.
            </typeparam>
        </member>
        <member name="M:GSF.Configuration.ConnectionStringParser`1.GetConnectionStringProperties(System.Type)">
            <summary>
            Gets the set of properties which are part of the connection string.
            </summary>
            <param name="settingsObjectType">The type of the settings object used to look up properties via reflection.</param>
            <returns>The set of properties which are part of the connection string.</returns>
        </member>
        <member name="P:GSF.Configuration.ConnectionStringParser`1.SerializeUnspecifiedProperties">
            <summary>
            Redefined to throw an exception. This property has no meaning when
            property serialization is determined by the existence of the typed parameter.
            </summary>
        </member>
        <member name="T:GSF.Configuration.EncryptSettingAttribute">
            <summary>
            Represents an attribute that determines if a property or field in a class derived from
            <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> or <see cref="T:GSF.Configuration.AppSettingsBase"/> should be encrypted
            when it is serialized to the configuration file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.EncryptSettingAttribute.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.EncryptSettingAttribute"/>; defaults to <c><see cref="P:GSF.Configuration.EncryptSettingAttribute.Encrypt"/> = true</c>.
            </summary>
        </member>
        <member name="M:GSF.Configuration.EncryptSettingAttribute.#ctor(System.Boolean)">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.EncryptSettingAttribute"/> with the specified <paramref name="encrypt"/> value.
            </summary>
            <param name="encrypt">
            Assigns flag that determines if the property or field this <see cref="T:GSF.Configuration.EncryptSettingAttribute"/>
            modifies should be encrypted when serialized to the configuration file.
            </param>
        </member>
        <member name="P:GSF.Configuration.EncryptSettingAttribute.Encrypt">
            <summary>
            Gets or sets flag that determines if the property or field this <see cref="T:GSF.Configuration.EncryptSettingAttribute"/>
            modifies should be encrypted when serialized to the configuration file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.EncryptSettingAttribute.PrivateKey">
            <summary>
            Gets or sets optional encryption key that will be used on a setting for added security.
            </summary>
            <remarks>
            This key is not the actual key used for encryption, it is used for hash lookup of the actual AES key.
            If this key is not specified, the property name will be used for the hash lookup.
            </remarks>
        </member>
        <member name="T:GSF.Configuration.IniSettingsBase">
            <summary>
            Represents the base class for application settings that are synchronized to an INI file.
            </summary>
            <remarks>
            <para>
            In order to make custom types serializable for the INI file, implement a <see cref="T:System.ComponentModel.TypeConverter"/> for the type.<br/>
            See <a href="http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx">MSDN</a> for details.
            </para>
            <example>
            Here is an example class derived from <see cref="T:GSF.Configuration.IniSettingsBase"/> that automatically
            serializes its fields and properties to the INI file.
            <code>
               public enum MyEnum
                {
                    One,
                    Two,
                    Three
                }
            
                public class MySettings : IniSettingsBase
                {
                    // Private property fields (private fields will not be serialized)
                    private double m_doubleVal;
            
                    // Public settings fields
                    public bool BoolVal = true;
                    public int IntVal = 1;
                    public float FloatVal = 3.14F;
                    public string StrVal = "This is a test...";
                    public MyEnum EnumVal = MyEnum.Three;
                    
                    [SettingName("UserOptions"), EncryptSetting()]
                    public string Password = "default";
            
                    // Mark this field to not be serialized to INI file...
                    [SerializeSetting(false)]
                    public decimal DecimalVal;
            
                    public MySettings()
                        : base(FilePath.GetAbsolutePath("MySettings.ini"), "GeneralSettings") {}
            
                    [Category("OtherSettings"), DefaultValue(1.159D)]
                    public double DoubleVal
                    {
                        get
                        {
                            return m_doubleVal;
                        }
                        set
                        {
                            m_doubleVal = value;
                        }
                    }
            
                    [SerializeSetting(false)]
                    public bool DontSerializeMe { get; set; }
                }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.#ctor(System.String,System.String)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.IniSettingsBase"/> class for the application's INI file.
            </summary>
            <param name="iniFileName">Name of INI file to use for accessing settings.</param>
            <param name="sectionName">Name of default section to use to get and set settings from INI file.</param>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.#ctor(System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.IniSettingsBase"/> class for the application's INI file.
            </summary>
            <param name="iniFileName">Name of INI file to use for accessing settings.</param>
            <param name="sectionName">Name of default section to use to get and set settings from INI file.</param>
            <param name="useCategoryAttributes">Determines if category attributes will be used for section names.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the INI file.
            </param>
            <remarks>
            If <paramref name="useCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <paramref name="sectionName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the INI file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <paramref name="sectionName"/> value.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.#ctor(GSF.Interop.IniFile,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.IniSettingsBase"/> class for the application's INI file.
            </summary>
            <param name="iniFile">INI file to use for accessing settings.</param>
            <param name="sectionName">Name of default section to use to get and set settings from INI file.</param>
            <param name="useCategoryAttributes">Determines if category attributes will be used for section names.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the INI file.
            </param>
            <param name="initialize">Determines if <see cref="M:GSF.Configuration.SettingsBase.Initialize"/> method should be called from constructor.</param>
            <remarks>
            <para>
            If <paramref name="useCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <paramref name="sectionName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the INI file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <paramref name="sectionName"/> value.
            </para>
            <para>
            Note that some .NET languages (e.g., Visual Basic) will not initialize member elements before call to constuctor,
            in this case <paramref name="initialize"/> should be set to <c>false</c>, then the <see cref="M:GSF.Configuration.SettingsBase.Initialize"/>
            method should be called manually after all properties have been initialized. Alternately, consider using the
            <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the fields or properties and this will be used to initialize the values.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.CreateSetting(System.String,System.String,System.String)">
            <summary>
            Create setting in INI file if it doesn't already exist.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.RetrieveSetting(System.String,System.String)">
            <summary>
            Retrieves setting from INI file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <returns>Setting value.</returns>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.StoreSetting(System.String,System.String,System.String)">
            <summary>
            Stores setting to INI file.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.PersistSettings">
            <summary>
            Persists any pending changes to INI file.
            This method is for internal use.
            </summary>
        </member>
        <member name="M:GSF.Configuration.IniSettingsBase.GetSectionName(System.String)">
            <summary>
            Gets the section name to use for the specified field or property.
            </summary>
            <param name="name">Field or property name.</param>
            <returns><see cref="P:System.ComponentModel.CategoryAttribute.Category"/> applied to specified field or property; or <see cref="P:GSF.Configuration.IniSettingsBase.SectionName"/> if attribute does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
            <remarks>
            <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> will only be returned if <see cref="P:GSF.Configuration.IniSettingsBase.UseCategoryAttributes"/> is <c>true</c>; otherwise
            <see cref="P:GSF.Configuration.IniSettingsBase.SectionName"/> value will be returned.
            </remarks>
        </member>
        <member name="P:GSF.Configuration.IniSettingsBase.IniFile">
            <summary>
            Gets or sets reference to working INI file.
            </summary>
            <exception cref="T:System.NullReferenceException">value cannot be null.</exception>
        </member>
        <member name="P:GSF.Configuration.IniSettingsBase.SectionName">
            <summary>
            Gets or sets default name of section used to access settings in INI file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.IniSettingsBase.UseCategoryAttributes">
            <summary>
            Gets or sets value that determines whether a <see cref="T:System.ComponentModel.CategoryAttribute"/> applied to a field or property
            will be used for the section name.
            </summary>
            <remarks>
            If <see cref="P:GSF.Configuration.IniSettingsBase.UseCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <see cref="P:GSF.Configuration.IniSettingsBase.SectionName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the INI file in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <see cref="P:GSF.Configuration.IniSettingsBase.SectionName"/> value.
            </remarks>
        </member>
        <member name="T:GSF.Configuration.NamespaceDoc">
            <summary>
            Contains classes, base classes and attributes related to simplifying access to configuration files including creating a categorized settings section.
            </summary>
        </member>
        <member name="T:GSF.Configuration.RegistrySettingsBase">
            <summary>
            Represents the base class for application settings that are synchronized to the registry.
            </summary>
            <remarks>
            <para>
            In order to make custom types serializable for the registry, implement a <see cref="T:System.ComponentModel.TypeConverter"/> for the type.<br/>
            See <a href="http://msdn.microsoft.com/en-us/library/ayybcxe5.aspx">MSDN</a> for details.
            </para>
            <example>
            Here is an example class derived from <see cref="T:GSF.Configuration.RegistrySettingsBase"/> that automatically
            serializes its fields and properties to the registry.
            <code>
               public enum MyEnum
                {
                    One,
                    Two,
                    Three
                }
            
                public class MySettings : RegistrySettingsBase
                {
                    // Private property fields (private fields will not be serialized)
                    private double m_doubleVal;
            
                    // Public settings fields
                    public bool BoolVal = true;
                    public int IntVal = 1;
                    public float FloatVal = 3.14F;
                    public string StrVal = "This is a test...";
                    public MyEnum EnumVal = MyEnum.Three;
                    
                    [SettingName("UserOptions"), EncryptSetting()]
                    public string Password = "default";
            
                    // Mark this field to not be serialized to registry...
                    [SerializeSetting(false)]
                    public decimal DecimalVal;
            
                    public MySettings()
                        : base("HKEY_CURRENT_USER\\Software\\My Company\\My Product\\", "General Settings") {}
            
                    [Category("OtherSettings"), DefaultValue(1.159D)]
                    public double DoubleVal
                    {
                        get
                        {
                            return m_doubleVal;
                        }
                        set
                        {
                            m_doubleVal = value;
                        }
                    }
            
                    [SerializeSetting(false)]
                    public bool DontSerializeMe { get; set; }
                }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.#ctor(System.String,System.String)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.RegistrySettingsBase"/> class for the application's registry based settings.
            </summary>
            <param name="rootPath">Defines the root registry path used to access settings in the registry (e.g., "HKEY_CURRENT_USER\\Software\\My Company\\My Product\\").</param>
            <param name="keyName">Defines the name of default key used to access settings in the registry (e.g., "General Settings").</param>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.#ctor(System.String,System.String,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Configuration.RegistrySettingsBase"/> class for the application's registry based settings.
            </summary>
            <param name="rootPath">Defines the root registry path used to access settings in the registry (e.g., "HKEY_CURRENT_USER\\Software\\My Company\\My Product\\").</param>
            <param name="keyName">Defines the name of default key used to access settings in the registry (e.g., "General Settings").</param>
            <param name="useCategoryAttributes">Determines if category attributes will be used for the registry key names.</param>
            <param name="requireSerializeSettingAttribute">
            Assigns flag that determines if <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> is required
            to exist before a field or property is serialized to the registry.
            </param>
            <param name="initialize">Determines if <see cref="M:GSF.Configuration.SettingsBase.Initialize"/> method should be called from constructor.</param>
            <remarks>
            <para>
            If <paramref name="useCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <paramref name="keyName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the registry in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will serialized into the section labeled by the <paramref name="keyName"/> value.
            </para>
            <para>
            Note that some .NET languages (e.g., Visual Basic) will not initialize member elements before call to constuctor,
            in this case <paramref name="initialize"/> should be set to <c>false</c>, then the <see cref="M:GSF.Configuration.SettingsBase.Initialize"/>
            method should be called manually after all properties have been initialized. Alternately, consider using the
            <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the fields or properties and this will be used to initialize the values.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.CreateSetting(System.String,System.String,System.String)">
            <summary>
            Create setting in registry if it doesn't already exist.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.RetrieveSetting(System.String,System.String)">
            <summary>
            Retrieves setting from registry.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <returns>Setting value.</returns>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.StoreSetting(System.String,System.String,System.String)">
            <summary>
            Stores setting to registry.
            This method is for internal use.
            </summary>
            <param name="name">Field or property name, if useful (can be different from setting name).</param>
            <param name="setting">Setting name.</param>
            <param name="value">Setting value.</param>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.PersistSettings">
            <summary>
            Persist any pending changes to registry.
            This method is for internal use.
            </summary>
        </member>
        <member name="M:GSF.Configuration.RegistrySettingsBase.GetKeyName(System.String)">
            <summary>
            Gets the key name to use for storing the specified field or property in the registry.
            </summary>
            <param name="name">Field or property name.</param>
            <returns><see cref="P:System.ComponentModel.CategoryAttribute.Category"/> applied to specified field or property; or <see cref="P:GSF.Configuration.RegistrySettingsBase.KeyName"/> if attribute does not exist.</returns>
            <exception cref="T:System.ArgumentException"><paramref name="name"/> cannot be null or empty.</exception>
            <remarks>
            <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> will only be returned if <see cref="P:GSF.Configuration.RegistrySettingsBase.UseCategoryAttributes"/> is <c>true</c>; otherwise
            <see cref="P:GSF.Configuration.RegistrySettingsBase.KeyName"/> value will be returned.
            </remarks>
        </member>
        <member name="P:GSF.Configuration.RegistrySettingsBase.RootPath">
            <summary>
            Gets or sets root registry path used to access settings in the registry (e.g., "HKEY_CURRENT_USER\\Software\\My Company\\My Product\\").
            </summary>
        </member>
        <member name="P:GSF.Configuration.RegistrySettingsBase.KeyName">
            <summary>
            Gets or sets name of default key used to access settings in the registry (e.g., "General Settings").
            </summary>
        </member>
        <member name="P:GSF.Configuration.RegistrySettingsBase.UseCategoryAttributes">
            <summary>
            Gets or sets value that determines whether a <see cref="T:System.ComponentModel.CategoryAttribute"/> applied to a field or property
            will be used for the registry key names.
            </summary>
            <remarks>
            If <see cref="P:GSF.Configuration.RegistrySettingsBase.UseCategoryAttributes"/> is false, all settings will be placed in section labeled by the
            <see cref="P:GSF.Configuration.RegistrySettingsBase.KeyName"/> value; otherwise, if a <see cref="T:System.ComponentModel.CategoryAttribute"/> exists on a field or
            property then the member value will serialized into the registry in a section labeled the same
            as the <see cref="P:System.ComponentModel.CategoryAttribute.Category"/> value and if the attribute doesn't exist the member value
            will stored in the registry key identified by the <see cref="P:GSF.Configuration.RegistrySettingsBase.KeyName"/> value.
            </remarks>
        </member>
        <member name="T:GSF.Configuration.SerializeSettingAttribute">
            <summary>
            Represents an attribute that determines if a property or field in a class derived from
            <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> or <see cref="T:GSF.Configuration.AppSettingsBase"/> should be serialized
            to the configuration file.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SerializeSettingAttribute.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.SerializeSettingAttribute"/>; defaults to <c><see cref="P:GSF.Configuration.SerializeSettingAttribute.Serialize"/> = true</c>.
            </summary>
        </member>
        <member name="M:GSF.Configuration.SerializeSettingAttribute.#ctor(System.Boolean)">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.SerializeSettingAttribute"/> with the specified <paramref name="serialize"/> value.
            </summary>
            <param name="serialize">
            Assigns flag that determines if the property or field this <see cref="T:GSF.Configuration.SerializeSettingAttribute"/>
            modifies should be serialized to the configuration file.
            </param>
        </member>
        <member name="P:GSF.Configuration.SerializeSettingAttribute.Serialize">
            <summary>
            Gets or sets flag that determines if the property or field this <see cref="T:GSF.Configuration.SerializeSettingAttribute"/>
            modifies should be serialized to the configuration file.
            </summary>
        </member>
        <member name="T:GSF.Configuration.SettingNameAttribute">
            <summary>
            Represents an attribute that defines the setting name of a property or field in a class derived from
            <see cref="T:GSF.Configuration.CategorizedSettingsBase"/> or <see cref="T:GSF.Configuration.AppSettingsBase"/> when serializing the value
            to the configuration file.
            </summary>
            <remarks>
            This attribute allows consumers to override the name of the setting going into the configuration file,
            if the attribute doesn't exist the property or field name is used.
            </remarks>
        </member>
        <member name="M:GSF.Configuration.SettingNameAttribute.#ctor(System.String[])">
            <summary>
            Creates a new <see cref="T:GSF.Configuration.SettingNameAttribute"/> with the specified <paramref name="names"/> value.
            </summary>
            <param name="names">Assigns name(s) used to serialize setting into config file.</param>
        </member>
        <member name="P:GSF.Configuration.SettingNameAttribute.Name">
            <summary>
            Gets the name used to serialize field or property into config file.
            </summary>
        </member>
        <member name="P:GSF.Configuration.SettingNameAttribute.Names">
            <summary>
            Gets the names used to serialize field or property into config file.
            </summary>
        </member>
        <member name="T:GSF.Console.Arguments">
             <summary>
             Represents an ordered set of arguments along with optional arguments parsed from a command-line.
             </summary>
             <example>
             This example shows how to parse a command-line command that does not contain an executable name:
             <code>
             using System;
             using GSF;
             using GSF.Console;
            
             class Program
             {
                 static void Main()
                 {
                     Arguments args = new Arguments("Sample.txt -wrap=true");
                     string file = args["OrderedArg1"];
                     bool wrapText = args["wrap"].ParseBoolean();
                    
                     Console.WriteLine(string.Format("File: {0}", file));
                     Console.WriteLine(string.Format("Wrap text: {0}", wrapText));
                     Console.ReadLine();
                 }
             }
             </code>
             This example shows how to parse a command-line command that contains an executable name in it:
             <code>
             using System;
             using GSF.Console;
            
             class Program
             {
                 static void Main()
                 {
                     // Environment.CommandLine = @"""c:\program files\tva\theme application\app.exe"" Document1.dcx -theme=default"
                     Arguments args = new Arguments(Environment.CommandLine, true);
                     string doc = args["OrderedArg1"];
                     string theme = args["theme"];
                    
                     Console.WriteLine(string.Format("Document: {0}", doc));
                     Console.WriteLine(string.Format("Application theme: {0}", theme));
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Console.Arguments.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Console.Arguments"/> class.
            </summary>
            <param name="commandLine">The command-line command to be parsed.</param>
        </member>
        <member name="M:GSF.Console.Arguments.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Console.Arguments"/> class.
            </summary>
            <param name="commandLine">The command-line command to be parsed.</param>
            <param name="skipFirstArgument">true if the first argument in the command-line command is to be skipped from being processed; otherwise false.</param>
        </member>
        <member name="M:GSF.Console.Arguments.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Console.Arguments"/> class.
            </summary>
            <param name="commandLine">The command-line command to be parsed.</param>
            <param name="orderedArgID">The prefix to be used in the identifier of ordered arguments.</param>
        </member>
        <member name="M:GSF.Console.Arguments.#ctor(System.String,System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Console.Arguments"/> class.
            </summary>
            <param name="commandLine">The command-line command to be parsed.</param>
            <param name="orderedArgID">The prefix to be used in the identifier of ordered arguments.</param>
            <param name="skipFirstArgument">true if the first argument in the command-line command is to be skipped from being processed; otherwise false.</param>
        </member>
        <member name="M:GSF.Console.Arguments.TryGetValue(System.String,System.String@)">
            <summary>
            Gets the value associated with the specified argument in the command-line command.
            </summary>
            <param name="argument">The argument whose value is to be retrieved.</param>
            <param name="value">Value associated with the specified argument if it exists in the command-line command, otherwise null.</param>
            <returns><c>true</c> if argument existed and was returned; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Console.Arguments.Exists(System.String)">
            <summary>
            Gets a boolean value that indicates whether the specified argument is present in the command-line command.
            </summary>
            <param name="argument">The argument to be checked.</param>
            <returns>true if the argument exists in the command-line command; otherwise false.</returns>
        </member>
        <member name="M:GSF.Console.Arguments.ToString">
            <summary>
            Gets a string representation of the <see cref="T:GSF.Console.Arguments"/> object.
            </summary>
            <returns>A string representation of the <see cref="T:GSF.Console.Arguments"/> object.</returns>
        </member>
        <member name="M:GSF.Console.Arguments.GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IEnumerator"/> for iterating through all the command-line command arguments.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/> for the command-line command arguments.</returns>
        </member>
        <member name="M:GSF.Console.Arguments.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IEnumerator"/> for iterating through all the command-line command arguments.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/> for the command-line command arguments.</returns>
        </member>
        <member name="M:GSF.Console.Arguments.ParseCommand(System.String)">
            <summary>
            This function can be used to parse a single parameterized string and turn it into an array of parameters.
            </summary>
            <param name="command">String of parameters.</param>
            <returns>Array of parameters.</returns>
        </member>
        <member name="P:GSF.Console.Arguments.Item(System.String)">
            <summary>
            Gets the value for the specified argument from the command-line command.
            </summary>
            <param name="argument">The argument whose value is to retrieved.</param>
            <returns>Value for the specified argument if found; otherwise null.</returns>
        </member>
        <member name="P:GSF.Console.Arguments.Count">
            <summary>
            Gets the total number of arguments (ordered and optional) present in the command-line command.
            </summary>
        </member>
        <member name="P:GSF.Console.Arguments.OrderedArgID">
            <summary>
            Gets the prefix text in the identifier of ordered arguments present in the command-line command.
            </summary>
        </member>
        <member name="P:GSF.Console.Arguments.OrderedArgCount">
            <summary>
            Gets the total number of ordered arguments in the command-line command.
            </summary>
        </member>
        <member name="P:GSF.Console.Arguments.OrderedArgs">
            <summary>
            Gets the ordered arguments as an array of strings.
            </summary>
        </member>
        <member name="P:GSF.Console.Arguments.ContainsHelpRequest">
            <summary>
            Gets a boolean value that indicates whether the command-line command contains request for displaying help.
            </summary>
        </member>
        <member name="P:GSF.Console.Arguments.InternalDictionary">
            <summary>
            Gets the dictionary containing all of the arguments present in the command-line command.
            </summary>
        </member>
        <member name="T:GSF.Console.Events">
             <summary>
             Defines a set of consumable events that can be raised by a console application.
             </summary>
             <remarks>
             Note that no events will be raised by this class when running under Mono deployments, the class
             remains available in the Mono build as a stub to allow existing code to still compile and run.
             </remarks>
             <example>
             This example shows how to subscribe to console application events:
             <code>
             using System;
             using GSF.Console;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Subscribe to console events.
                     Events.CancelKeyPress += Events_CancelKeyPress;
                     Events.ConsoleClosing += Events_ConsoleClosing;
                     Events.EnableRaisingEvents();
                    
                     Console.ReadLine();
                 }
                
                 static void Events_CancelKeyPress(object sender, System.ComponentModel.CancelEventArgs e)
                 {
                     // Abort processing.
                 }
                
                 static void Events_ConsoleClosing(object sender, System.ComponentModel.CancelEventArgs e)
                 {
                     // Put clean-up code.
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Console.Events.EnableRaisingEvents">
            <summary>
            Enables the raising of console application <see cref="T:GSF.Console.Events"/>. Prior to calling this method, handlers 
            must be defined for the <see cref="T:GSF.Console.Events"/> raised by a console application.
            </summary>
            <remarks>
            This method is currently ignored under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Console.Events.DisableRaisingEvents">
            <summary>
            Enables the raising of console application <see cref="T:GSF.Console.Events"/>. 
            </summary>
            <remarks>
            This method is currently ignored under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Console.Events.HandleConsoleWindowEvents(GSF.Console.Events.ConsoleEventType)">
            <summary>
            Delegate method that gets called when console application events occur.
            </summary>
        </member>
        <member name="E:GSF.Console.Events.CancelKeyPress">
            <summary>
            Occurs when CTRL+C signal is received from keyboard input.
            </summary>
            <remarks>
            <see cref="M:GSF.Console.Events.EnableRaisingEvents"/> method must be called to enable event publication.
            </remarks>
        </member>
        <member name="E:GSF.Console.Events.BreakKeyPress">
            <summary>
            Occurs when CTRL+BREAK signal is received from keyboard input.
            </summary>
            <remarks>
            <see cref="M:GSF.Console.Events.EnableRaisingEvents"/> method must be called to enable event publication.
            </remarks>
        </member>
        <member name="E:GSF.Console.Events.ConsoleClosing">
            <summary>
            Occurs when the user closes the console application window.
            </summary>
            <remarks>
            <see cref="M:GSF.Console.Events.EnableRaisingEvents"/> method must be called to enable event publication.
            </remarks>
        </member>
        <member name="E:GSF.Console.Events.UserLoggingOff">
            <summary>
            Occurs when the user is logging off.
            </summary>
            <remarks>
            <see cref="M:GSF.Console.Events.EnableRaisingEvents"/> method must be called to enable event publication.
            </remarks>
        </member>
        <member name="E:GSF.Console.Events.SystemShutdown">
            <summary>
            Occurs when the system is shutting down.
            </summary>
            <remarks>
            <see cref="M:GSF.Console.Events.EnableRaisingEvents"/> method must be called to enable event publication.
            </remarks>
        </member>
        <member name="T:GSF.Console.NamespaceDoc">
            <summary>
            Contains classes used for parsing command line parameters and managing console applications.
            </summary>
        </member>
        <member name="T:GSF.Data.DatabaseType">
            <summary>
            Specifies the database type underlying an <see cref="T:GSF.Data.AdoDataConnection"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.Access">
            <summary>
            Underlying ADO database type is Microsoft Access.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.SQLServer">
            <summary>
            Underlying ADO database type is SQL Server.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.MySQL">
            <summary>
            Underlying ADO database type is MySQL.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.Oracle">
            <summary>
            Underlying ADO database type is Oracle.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.SQLite">
            <summary>
            Underlying ADO database type is SQLite.
            </summary>
        </member>
        <member name="F:GSF.Data.DatabaseType.Other">
            <summary>
            Underlying ADO database type is unknown.
            </summary>
        </member>
        <member name="T:GSF.Data.AdoDataConnection">
            <summary>
            Creates a new <see cref="T:System.Data.IDbConnection"/> from any specified or configured ADO.NET data source.
            </summary>
            <remarks>
            Example connection and data provider strings:
            <list type="table">
                <listheader>
                    <term>Database type</term>
                    <description>Example connection string / data provider string</description>
                </listheader>
                <item>
                    <term>SQL Server</term>
                    <description>
                    ConnectionString = "Data Source=serverName; Initial Catalog=databaseName; User ID=userName; Password=password"<br/>
                    DataProviderString = "AssemblyName={System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}; ConnectionType=System.Data.SqlClient.SqlConnection; AdapterType=System.Data.SqlClient.SqlDataAdapter"
                    </description>
                </item>
                <item>
                    <term>Oracle</term>
                    <description>
                    ConnectionString = "Data Source=tnsName; User ID=schemaUserName; Password=schemaPassword"<br/>
                    DataProviderString = "AssemblyName={Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342}; ConnectionType=Oracle.DataAccess.Client.OracleConnection; AdapterType=Oracle.DataAccess.Client.OracleDataAdapter"
                    </description>
                </item>
                <item>
                    <term>MySQL</term>
                    <description>
                    ConnectionString = "Server=serverName; Database=databaseName; Uid=root; Pwd=password; allow user variables = true"<br/>
                    DataProviderString = "AssemblyName={MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d}; ConnectionType=MySql.Data.MySqlClient.MySqlConnection; AdapterType=MySql.Data.MySqlClient.MySqlDataAdapter"
                    </description>
                </item>
                <item>
                    <term>SQLite</term>
                    <description>
                    ConnectionString = "Data Source=databaseName.db; Version=3"<br/>
                    DataProviderString = "AssemblyName={System.Data.SQLite, Version=1.0.74.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139}; ConnectionType=System.Data.SQLite.SQLiteConnection; AdapterType=System.Data.SQLite.SQLiteDataAdapter"
                    </description>
                </item>
                <item>
                    <term>Access / OleDB</term>
                    <description>
                    ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=databaseName.mdb"<br/>
                    DataProviderString = "AssemblyName={System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}; ConnectionType=System.Data.OleDb.OleDbConnection; AdapterType=System.Data.OleDb.OleDbDataAdapter"
                    </description>
                </item>
                <item>
                    <term>ODBC Connection</term>
                    <description>
                    ConnectionString = "Driver={SQL Server Native Client 10.0}; Server=serverName; Database=databaseName; Uid=userName; Pwd=password"<br/>
                    DataProviderString = "AssemblyName={System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}; ConnectionType=System.Data.Odbc.OdbcConnection; AdapterType=System.Data.Odbc.OdbcDataAdapter"
                    </description>
                </item>
            </list>
            Example configuration file that defines connection settings:
            <code>
            <![CDATA[
            <?xml version="1.0" encoding="utf-8"?>
            <configuration>
              <configSections>
                <section name="categorizedSettings" type="GSF.Configuration.CategorizedSettingsSection, GSF.Core" />
              </configSections>
              <categorizedSettings>
                <systemSettings>
                  <add name="ConnectionString" value="Data Source=localhost\SQLEXPRESS; Initial Catalog=MyDatabase; Integrated Security=SSPI" description="ADO database connection string" encrypted="false" />
                  <add name="DataProviderString" value="AssemblyName={System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089}; ConnectionType=System.Data.SqlClient.SqlConnection; AdapterType=System.Data.SqlClient.SqlDataAdapter" description="ADO database provider string" encrypted="false" />
                </systemSettings>
              </categorizedSettings>
              <startup>
                <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
              </startup>
            </configuration>
            ]]>
            </code>
            </remarks>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.#ctor(System.String)">
            <summary>
            Creates and opens a new <see cref="T:GSF.Data.AdoDataConnection"/> based on connection settings in configuration file.
            </summary>
            <param name="settingsCategory">Settings category to use for connection settings.</param>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.#ctor(System.String,System.String)">
            <summary>
            Creates and opens a new <see cref="T:GSF.Data.AdoDataConnection"/> from specified <paramref name="connectionString"/> and <paramref name="dataProviderString"/>.
            </summary>
            <param name="connectionString">Database specific ADO connection string.</param>
            <param name="dataProviderString">Key/value pairs that define which ADO assembly and types to load.</param>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Data.AdoDataConnection"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Data.AdoDataConnection"/> object.
            </summary>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Data.AdoDataConnection"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Bool(System.Boolean)">
            <summary>
            Returns proper <see cref="T:System.Boolean"/> implementation for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.
            </summary>
            <param name="value"><see cref="T:System.Boolean"/> to format per database type.</param>
            <returns>Proper <see cref="T:System.Boolean"/> implementation for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Guid(System.Guid)">
            <summary>
            Returns proper <see cref="T:System.Guid"/> implementation for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.
            </summary>
            <param name="guid"><see cref="T:System.Guid"/> to format per database type.</param>
            <returns>Proper <see cref="T:System.Guid"/> implementation for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.Guid(System.Data.DataRow,System.String)">
            <summary>
            Retrieves <see cref="T:System.Guid"/> from a <see cref="T:System.Data.DataRow"/> field based on database type.
            </summary>
            <param name="row"><see cref="T:System.Data.DataRow"/> from which value needs to be retrieved.</param>
            <param name="fieldName">Name of the field which contains <see cref="T:System.Guid"/>.</param>
            <returns><see cref="T:System.Guid"/>.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.UtcNow">
            <summary>
            Returns current UTC time in an implementation that is proper for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.
            </summary>
            <returns>Current UTC time in implementation that is proper for connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.DefaultIsloationLevel">
            <summary>
            Gets the default <see cref="T:System.Data.IsolationLevel"/> for the connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.
            </summary>
            <returns>Default <see cref="T:System.Data.IsolationLevel"/> for the connected <see cref="T:GSF.Data.AdoDataConnection"/> database type.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.ParameterizedQueryString(System.String,System.String[])">
            <summary>
            Creates a parameterized query string for the underlying database type based on the given format string and parameter names.
            </summary>
            <param name="format">A composite format string.</param>
            <param name="parameterNames">A string array that contains zero or more parameter names to format.</param>
            <returns>A parameterized query string based on the given format and parameter names.</returns>
        </member>
        <member name="M:GSF.Data.AdoDataConnection.ReloadConfigurationSettings">
            <summary>
            Forces a reload of cached configuration connection settings.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.Connection">
            <summary>
            Gets an open <see cref="T:System.Data.IDbConnection"/> to configured ADO.NET data source.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.AdapterType">
            <summary>
            Gets the type of data adapter for configured ADO.NET data source.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.DatabaseType">
            <summary>
            Gets or sets the type of the database underlying the <see cref="T:GSF.Data.AdoDataConnection"/>.
            </summary>
            <remarks>
            This value is automatically assigned based on the adapter type specified in the data provider string, however,
            if the database type cannot be determined it will be set to <see cref="F:GSF.Data.DatabaseType.Other"/>. In this
            case, if you know the behavior of your custom ADO database connection matches that of another defined database
            type, you can manually assign the database type to allow for database interaction interoperability.
            </remarks>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.IsJetEngine">
            <summary>
            Gets a value to indicate whether source database is Microsoft Access.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.IsSQLServer">
            <summary>
            Gets a value to indicate whether source database is Microsoft SQL Server.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.IsMySQL">
            <summary>
            Gets a value to indicate whether source database is MySQL.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.IsOracle">
            <summary>
            Gets a value to indicate whether source database is Oracle.
            </summary>
        </member>
        <member name="P:GSF.Data.AdoDataConnection.IsSqlite">
            <summary>
            Gets a value to indicate whether source database is SQLite.
            </summary>
        </member>
        <member name="T:GSF.Data.DataExtensions">
            <summary>
            Defines extension functions related to database and SQL interaction.
            </summary>
        </member>
        <member name="F:GSF.Data.DataExtensions.DefaultTimeoutDuration">
            <summary>
            The default timeout duration used for executing SQL statements when timeout duration is not specified.
            </summary>
        </member>
        <member name="M:GSF.Data.DataExtensions.SQLEncode(System.String,GSF.Data.DatabaseType)">
            <summary>
            Performs SQL encoding on given SQL string.
            </summary>
            <param name="sql">The string on which SQL encoding is to be performed.</param>
            <param name="databaseType">Database type for the SQL encoding.</param>
            <returns>The SQL encoded string.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery``1(``0,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The number of rows affected.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery``1(``0,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The number of rows affected.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.IDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.IDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteNonQuery(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the number of rows affected.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The number of rows affected.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader``1(``0,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader``1(``0,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader``1(``0,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and builds a <see cref="T:System.Data.OleDb.OleDbDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.OleDb.OleDbDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.OleDb.OleDbConnection,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and builds a <see cref="T:System.Data.OleDb.OleDbDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.OleDb.OleDbDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and builds a <see cref="T:System.Data.Odbc.OdbcDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.Odbc.OdbcDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.Odbc.OdbcConnection,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and builds a <see cref="T:System.Data.Odbc.OdbcDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.Odbc.OdbcDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and builds a <see cref="T:System.Data.SqlClient.SqlDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.SqlClient.SqlDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.SqlClient.SqlConnection,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and builds a <see cref="T:System.Data.SqlClient.SqlDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.SqlClient.SqlDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.IDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.IDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.IDbCommand,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and builds a <see cref="T:System.Data.IDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.IDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and builds a <see cref="T:System.Data.OleDb.OleDbDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.OleDb.OleDbDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.OleDb.OleDbCommand,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and builds a <see cref="T:System.Data.OleDb.OleDbDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.OleDb.OleDbDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and builds a <see cref="T:System.Data.Odbc.OdbcDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.Odbc.OdbcDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.Odbc.OdbcCommand,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and builds a <see cref="T:System.Data.Odbc.OdbcDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.Odbc.OdbcDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and builds a <see cref="T:System.Data.SqlClient.SqlDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.SqlClient.SqlDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteReader(System.Data.SqlClient.SqlCommand,System.String,System.Data.CommandBehavior,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and builds a <see cref="T:System.Data.SqlClient.SqlDataReader"/>.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior"/> values.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.SqlClient.SqlDataReader"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar``1(``0,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar``1(``0,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
            <typeparam name="TConnection">Type of <see cref="T:System.Data.IDbConnection"/> to use.</typeparam>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.IDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.IDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ExecuteScalar(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the value in the first column 
            of the first row in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>Value in the first column of the first row in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbConnection,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcConnection,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlConnection,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.IDbConnection,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.IDbConnection,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbCommand,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcCommand,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlCommand,System.String,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.IDbCommand,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveRow(System.Data.IDbCommand,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the first <see cref="T:System.Data.DataRow"/> in the result set.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>The first <see cref="T:System.Data.DataRow"/> in the result set.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.IDbConnection,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.IDbConnection,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.IDbCommand,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveData(System.Data.IDbCommand,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the first <see cref="T:System.Data.DataTable"/> 
            of result set, if the result set contains multiple tables.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlConnection,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple table depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlConnection,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlConnection,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.IDbConnection,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.IDbConnection,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbConnection"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="connection">The <see cref="T:System.Data.IDbConnection"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.OleDb.OleDbCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.OleDb.OleDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.Odbc.OdbcCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.Odbc.OdbcCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlCommand,System.String)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple table depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Int32,System.Int32)">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlCommand,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.SqlClient.SqlCommand,System.String,System.Int32,System.Int32,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.SqlClient.SqlCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> to use for executing the SQL statement.</param>
            <param name="startRow">The zero-based record number to start with.</param>
            <param name="maxRows">The maximum number of records to retrieve.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression -or- the parameter values to be passed into stored procedure being executed.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.IDbCommand,System.Type,System.String,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.RetrieveDataSet(System.Data.IDbCommand,System.Type,System.String,System.Int32,System.Object[])">
            <summary>
            Executes the SQL statement using <see cref="T:System.Data.IDbCommand"/>, and returns the <see cref="T:System.Data.DataSet"/> that 
            may contain multiple tables, depending on the SQL statement.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> to use for executing the SQL statement.</param>
            <param name="dataAdapterType">The <see cref="T:System.Type"/> of data adapter to use to retreieve data.</param>
            <param name="sql">The SQL statement to be executed.</param>
            <param name="timeout">The time in seconds to wait for the SQL statement to execute.</param>
            <param name="parameters">The parameter values to be used to fill in <see cref="T:System.Data.IDbDataParameter"/> parameters identified by '@' prefix in <paramref name="sql"/> expression.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ConvertField``1(System.Data.DataRow,System.String)">
            <summary>
            Provides strongly-typed access to each of the column values in the specified row.
            Automatically applies type conversion to the column values.
            </summary>
            <typeparam name="T">A generic parameter that specifies the return type of the column.</typeparam>
            <param name="row">The input <see cref="T:System.Data.DataRow"/>, which acts as the this instance for the extension method.</param>
            <param name="field">The name of the column to return the value of.</param>
            <returns>The value, of type T, of the <see cref="T:System.Data.DataColumn"/> specified by columnName.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ConvertNullableField``1(System.Data.DataRow,System.String)">
            <summary>
            Provides strongly-typed access to each of the column values in the specified row.
            Automatically applies type conversion to the column values.
            </summary>
            <typeparam name="T">A generic parameter that specifies the return type of the column.</typeparam>
            <param name="row">The input <see cref="T:System.Data.DataRow"/>, which acts as the this instance for the extension method.</param>
            <param name="field">The name of the column to return the value of.</param>
            <returns>The value, of type T, of the <see cref="T:System.Data.DataColumn"/> specified by columnName.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.UpdateData(System.Data.OleDb.OleDbConnection,System.Data.DataTable,System.String)">
            <summary>
            Updates the underlying data of the <see cref="T:System.Data.DataTable"/> using <see cref="T:System.Data.OleDb.OleDbConnection"/>, and
            returns the number of rows successfully updated.
            </summary>
            <param name="sourceData">The <see cref="T:System.Data.DataTable"/> used to update the underlying data source.</param>
            <param name="sourceSql">The SQL statement used initially to populate the <see cref="T:System.Data.DataTable"/>.</param>
            <param name="connection">The <see cref="T:System.Data.OleDb.OleDbConnection"/> to use for updating the underlying data source.</param>
            <returns>The number of rows successfully updated from the <see cref="T:System.Data.DataTable"/>.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.UpdateData(System.Data.Odbc.OdbcConnection,System.Data.DataTable,System.String)">
            <summary>
            Updates the underlying data of the <see cref="T:System.Data.DataTable"/> using <see cref="T:System.Data.Odbc.OdbcConnection"/>, and
            returns the number of rows successfully updated.
            </summary>
            <param name="sourceData">The <see cref="T:System.Data.DataTable"/> used to update the underlying data source.</param>
            <param name="sourceSql">The SQL statement used initially to populate the <see cref="T:System.Data.DataTable"/>.</param>
            <param name="connection">The <see cref="T:System.Data.Odbc.OdbcConnection"/> to use for updating the underlying data source.</param>
            <returns>The number of rows successfully updated from the <see cref="T:System.Data.DataTable"/>.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.UpdateData(System.Data.SqlClient.SqlConnection,System.Data.DataTable,System.String)">
            <summary>
            Updates the underlying data of the <see cref="T:System.Data.DataTable"/> using <see cref="T:System.Data.SqlClient.SqlConnection"/>, and
            returns the number of rows successfully updated.
            </summary>
            <param name="sourceData">The <see cref="T:System.Data.DataTable"/> used to update the underlying data source.</param>
            <param name="sourceSql">The SQL statement used initially to populate the <see cref="T:System.Data.DataTable"/>.</param>
            <param name="connection">The <see cref="T:System.Data.SqlClient.SqlConnection"/> to use for updating the underlying data source.</param>
            <returns>The number of rows successfully updated from the <see cref="T:System.Data.DataTable"/>.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.OleDb.OleDbCommand,System.Object,System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.OleDb.OleDbCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> whose parameters are to be populated.</param>
            <param name="parameter1">The first parameter value to populate the <see cref="T:System.Data.OleDb.OleDbCommand"/> parameters with.</param>
            <param name="parameters">The remaining parameter values to populate the <see cref="T:System.Data.OleDb.OleDbCommand"/> parameters with.</param>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.OleDb.OleDbCommand,System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.OleDb.OleDbCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.OleDb.OleDbCommand"/> whose parameters are to be populated.</param>
            <param name="parameters">The parameter values to populate the <see cref="T:System.Data.OleDb.OleDbCommand"/> parameters with.</param>
            <remarks>
            Automatic parameter derivation is currently not support for OleDB connections under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.Odbc.OdbcCommand,System.Object,System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.Odbc.OdbcCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> whose parameters are to be populated.</param>
            <param name="parameter1">The first parameter value to populate the <see cref="T:System.Data.Odbc.OdbcCommand"/> parameters with.</param>
            <param name="parameters">The remaining parameter values to populate the <see cref="T:System.Data.Odbc.OdbcCommand"/> parameters with.</param>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.Odbc.OdbcCommand,System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.Odbc.OdbcCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.Odbc.OdbcCommand"/> whose parameters are to be populated.</param>
            <param name="parameters">The parameter values to populate the <see cref="T:System.Data.Odbc.OdbcCommand"/> parameters with.</param>
            <remarks>
            Automatic parameter derivation is currently not support for ODBC connections under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.SqlClient.SqlCommand,System.Object,System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.SqlClient.SqlCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> whose parameters are to be populated.</param>
            <param name="parameter1">The first parameter value to populate the <see cref="T:System.Data.SqlClient.SqlCommand"/> parameters with.</param>
            <param name="parameters">The remaining parameter values to populate the <see cref="T:System.Data.SqlClient.SqlCommand"/> parameters with.</param>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters(System.Data.SqlClient.SqlCommand,System.Object[])">
            <summary>
             Takes the <see cref="T:System.Data.SqlClient.SqlCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.SqlClient.SqlCommand"/> whose parameters are to be populated.</param>
            <param name="parameters">The parameter values to populate the <see cref="T:System.Data.SqlClient.SqlCommand"/> parameters with.</param>
        </member>
        <member name="M:GSF.Data.DataExtensions.PopulateParameters``1(``0,System.Action{``0},System.Object[])">
            <summary>
            Takes the <see cref="T:System.Data.IDbCommand"/> object and populates it with the given parameters.
            </summary>
            <param name="command">The <see cref="T:System.Data.IDbCommand"/> whose parameters are to be populated.</param>
            <param name="deriveParameters">The DeriveParameters() implementation of the <paramref name="command"/> to use to populate parameters.</param>
            <param name="values">The parameter values to populate the <see cref="T:System.Data.IDbCommand"/> parameters with.</param>
            <typeparam name="TDbCommand">Then <see cref="T:System.Data.IDbCommand"/> type to be used.</typeparam>
            <exception cref="T:System.ArgumentException">
            Number of <see cref="T:System.Data.IDbDataParameter"/> arguments in <see cref="P:System.Data.IDbCommand.CommandText"/> of this <paramref name="command"/>, identified by '@', do not match number of supplied parameter <paramref name="values"/> -or-
            You have supplied more <paramref name="values"/> than parameters listed for the stored procedure.
            </exception>
        </member>
        <member name="M:GSF.Data.DataExtensions.AddParameterWithValue(System.Data.IDbCommand,System.String,System.Object,System.Data.ParameterDirection)">
            <summary>
            Creates and adds an <see cref="T:System.Data.IDbDataParameter"/> to the <see cref="T:System.Data.IDbCommand"/> object with the specified <paramref name="value"/>.
            </summary>
            <param name="command"><see cref="T:System.Data.IDbCommand"/> to which parameter needs to be added.</param>
            <param name="name">Name of the <see cref="T:System.Data.IDbDataParameter"/> to be added.</param>
            <param name="value">Value of the <see cref="T:System.Data.IDbDataParameter"/> to be added.</param>
            <param name="direction"><see cref="T:System.Data.ParameterDirection"/> for <see cref="T:System.Data.IDbDataParameter"/>.</param>
        </member>
        <member name="M:GSF.Data.DataExtensions.AddParametersWithValues(System.Data.IDbCommand,System.String,System.Object[])">
            <summary>
            Creates and adds a new <see cref="T:System.Data.IDbDataParameter"/> for each of the specified <paramref name="values"/> to the <see cref="T:System.Data.IDbCommand"/> object.
            </summary>
            <param name="command"><see cref="T:System.Data.IDbCommand"/> to which parameters need to be added.</param>
            <param name="sql">The SQL statement.</param>
            <param name="values">The values for the parameters of the <see cref="T:System.Data.IDbCommand"/> in the order that they appear in the SQL statement.</param>
            <remarks>
            <para>
            This method does very rudimentary parsing of the SQL statement so parameter names should start with the '@'
            character and should be surrounded by either spaces, parentheses, or commas.
            </para>
            <para>
            Do not use the same parameter name twice in the expression so that each parameter, identified by '@', will
            have a corresponding value.
            </para>
            </remarks>
            <returns>The fully populated parameterized command.</returns>
            <exception cref="T:System.ArgumentException">Number of <see cref="T:System.Data.IDbDataParameter"/> arguments in <paramref name="sql"/> expression, identified by '@', do not match number of supplied parameter <paramref name="values"/>.</exception>
        </member>
        <member name="M:GSF.Data.DataExtensions.CreateParameterizedCommand(System.Data.IDbConnection,System.String,System.Object[])">
            <summary>
            Creates and returns a parameterized <see cref="T:System.Data.IDbCommand"/>. Parameter names are embedded in the SQL statement
            passed as a parameter to this method.
            </summary>
            <param name="connection">The database connection.</param>
            <param name="sql">The SQL statement.</param>
            <param name="values">The values for the parameters of the <see cref="T:System.Data.IDbCommand"/> in the order that they appear in the SQL statement.</param>
            <remarks>
            <para>
            This method does very rudimentary parsing of the SQL statement so parameter names should start with the '@'
            character and should be surrounded by either spaces, parentheses, or commas.
            </para>
            <para>
            Do not use the same parameter name twice in the expression so that each parameter, identified by '@', will
            have a corresponding value.
            </para>
            </remarks>
            <returns>The fully populated parameterized command.</returns>
            <exception cref="T:System.ArgumentException">Number of <see cref="T:System.Data.IDbDataParameter"/> arguments in <paramref name="sql"/> expression, identified by '@', do not match number of supplied parameter <paramref name="values"/>.</exception>
        </member>
        <member name="M:GSF.Data.DataExtensions.ToDataTable(System.String,System.String,System.Boolean)">
            <summary>
            Converts a delimited string into a <see cref="T:System.Data.DataTable"/>.
            </summary>
            <param name="delimitedData">The delimited text to be converted to <see cref="T:System.Data.DataTable"/>.</param>
            <param name="delimiter">The character(s) used for delimiting the text.</param>
            <param name="header">true, if the delimited text contains header information; otherwise, false.</param>
            <returns>A <see cref="T:System.Data.DataTable"/> object.</returns>
        </member>
        <member name="M:GSF.Data.DataExtensions.ToDelimitedString(System.Data.DataTable,System.String,System.Boolean,System.Boolean)">
            <summary>
            Converts the <see cref="T:System.Data.DataTable"/> to a multi-line delimited string (e.g., CSV export).
            </summary>
            <param name="table">The <see cref="T:System.Data.DataTable"/> whose data is to be converted to delimited text.</param>
            <param name="delimiter">The character(s) to be used for delimiting the text.</param>
            <param name="quoted">true, if text is to be surrounded by quotes; otherwise, false.</param>
            <param name="header">true, if the delimited text should have header information.</param>
            <returns>A string of delimited text.</returns>
        </member>
        <member name="T:GSF.Data.DataSetEqualityComparer">
            <summary>
            Equality comparer for <see cref="T:System.Data.DataSet"/> objects.
            </summary>
        </member>
        <member name="M:GSF.Data.DataSetEqualityComparer.Equals(System.Data.DataSet,System.Data.DataSet)">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <returns>
            true if the specified objects are equal; otherwise, false.
            </returns>
            <param name="x">The first object of type <see cref="T:System.Data.DataSet"/> to compare.</param>
            <param name="y">The second object of type <see cref="T:System.Data.DataSet"/> to compare.</param>
        </member>
        <member name="M:GSF.Data.DataSetEqualityComparer.GetHashCode(System.Data.DataSet)">
            <summary>
            Returns a hash code for the specified object.
            </summary>
            <returns>
            A hash code for the specified object.
            </returns>
            <param name="obj">The <see cref="T:System.Data.DataSet"/> for which a hash code is to be returned.</param>
            <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is null.</exception>
        </member>
        <member name="F:GSF.Data.DataSetEqualityComparer.Default">
            <summary>
            Default instance of the <see cref="T:GSF.Data.DataSetEqualityComparer"/> class.
            </summary>
        </member>
        <member name="T:GSF.Data.DataType">
            <summary>
            Data types available to a <see cref="T:System.Data.DataSet"/> object.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Boolean">
            <summary>
            Boolean data type, <see cref="F:GSF.Data.DataType.Boolean"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Byte">
            <summary>
            Unsigned 8-bit byte data type, <see cref="F:GSF.Data.DataType.Byte"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Char">
            <summary>
            16-bit character data type, <see cref="F:GSF.Data.DataType.Char"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.DateTime">
            <summary>
            Date/time data type, <see cref="F:GSF.Data.DataType.DateTime"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Decimal">
            <summary>
            Decimal data type, <see cref="F:GSF.Data.DataType.Decimal"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Double">
            <summary>
            64-bit double precision floating point numeric data type, <see cref="F:GSF.Data.DataType.Double"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Guid">
            <summary>
            Unsigned 128-bit Guid integer data type, <see cref="F:GSF.Data.DataType.Guid"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Int16">
            <summary>
            Signed 16-bit integer data type, <see cref="F:GSF.Data.DataType.Int16"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Int32">
            <summary>
            Signed 32-bit integer data type, <see cref="F:GSF.Data.DataType.Int32"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Int64">
            <summary>
            Signed 64-bit integer data type, <see cref="F:GSF.Data.DataType.Int64"/>
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.SByte">
            <summary>
            Signed byte data type, <see cref="F:GSF.Data.DataType.SByte"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Single">
            <summary>
            32-bit single precision floating point numeric data type, <see cref="F:GSF.Data.DataType.Single"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.String">
            <summary>
            Character array data type, <see cref="F:GSF.Data.DataType.String"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.TimeSpan">
            <summary>
            Time-span data type, <see cref="F:GSF.Data.DataType.TimeSpan"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.UInt16">
            <summary>
            Unsigned 16-bit integer data type, <see cref="F:GSF.Data.DataType.UInt16"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.UInt32">
            <summary>
            Unsigned 32-bit integer data type, <see cref="F:GSF.Data.DataType.UInt32"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.UInt64">
            <summary>
            Unsigned 64-bit integer data type, <see cref="F:GSF.Data.DataType.UInt64"/>.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Blob">
            <summary>
            Unsigned byte array data type.
            </summary>
        </member>
        <member name="F:GSF.Data.DataType.Object">
            <summary>
            User defined/other data type.
            </summary>
        </member>
        <member name="T:GSF.Data.DataSetExtensions">
            <summary>
            Defines extension functions related to <see cref="T:System.Data.DataSet"/> instances.
            </summary>
        </member>
        <member name="M:GSF.Data.DataSetExtensions.SerializeToStream(System.Data.DataSet,System.IO.Stream)">
            <summary>
            Serializes a <see cref="T:System.Data.DataSet"/> to a destination <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="source"><see cref="T:System.Data.DataSet"/> to serialize.</param>
            <param name="destination"><see cref="T:System.IO.Stream"/> to serialize <see cref="T:System.Data.DataSet"/> on.</param>
        </member>
        <member name="M:GSF.Data.DataSetExtensions.DeserializeToDataSet(System.IO.Stream)">
            <summary>
            Deserializes a <see cref="T:System.Data.DataSet"/> from a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="source"><see cref="T:System.IO.Stream"/> to deserialize <see cref="T:System.Data.DataSet"/> from.</param>
        </member>
        <member name="M:GSF.Data.DataSetExtensions.GetDataType(System.Type)">
            <summary>
            Attempts to derive <see cref="T:GSF.Data.DataType"/> based on object <see cref="T:System.Type"/>.
            </summary>
            <param name="objectType"><see cref="T:System.Type"/> of object to test.</param>
            <returns>Derived <see cref="T:GSF.Data.DataType"/> based on object <see cref="T:System.Type"/> if matched; otherwise <see cref="F:GSF.Data.DataType.Object"/>.</returns>
        </member>
        <member name="M:GSF.Data.DataSetExtensions.DeriveColumnType(GSF.Data.DataType)">
            <summary>
            Gets column object <see cref="T:System.Type"/> from given <see cref="T:GSF.Data.DataType"/>.
            </summary>
            <param name="dataType"><see cref="T:GSF.Data.DataType"/> to derive object <see cref="T:System.Type"/> from.</param>
            <returns>Object <see cref="T:System.Type"/> derived from given <see cref="T:GSF.Data.DataType"/>.</returns>
        </member>
        <member name="T:GSF.Data.NamespaceDoc">
            <summary>
            Contains extension functions used to simplify and standardize database access.
            </summary>
        </member>
        <member name="T:GSF.DateTimeExtensions">
            <summary>
            Defines extension functions related to Date/Time manipulation.
            </summary>
        </member>
        <member name="M:GSF.DateTimeExtensions.UtcTimeIsValid(System.DateTime,System.Double,System.Double)">
            <summary>Determines if the specified UTC time is valid, by comparing it to the system clock.</summary>
            <param name="utcTime">UTC time to test for validity.</param>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be
            valid.</param>
            <returns>True, if time is within the specified range.</returns>
            <remarks>
            <para>Time is considered valid if it exists within the specified lag time/lead time range of current
            time.</para>
            <para>Note that lag time and lead time must be greater than zero, but can be set to sub-second
            intervals.</para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">LagTime and LeadTime must be greater than zero, but can
            be less than one.</exception>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeIsValid(System.DateTime,System.Double,System.Double)">
            <summary>Determines if the specified local time is valid, by comparing it to the system clock.</summary>
            <param name="localTime">Time to test for validity.</param>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be
            valid.</param>
            <returns>True, if time is within the specified range.</returns>
            <remarks>
            <para>Time is considered valid if it exists within the specified lag time/lead time range of current
            time.</para>
            <para>Note that lag time and lead time must be greater than zero, but can be set to sub-second
            intervals.</para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">LagTime and LeadTime must be greater than zero, but can
            be less than one.</exception>
        </member>
        <member name="M:GSF.DateTimeExtensions.TimeIsValid(System.DateTime,System.DateTime,System.Double,System.Double)">
            <summary>Determines if time is valid, by comparing it to the specified current time.</summary>
            <param name="testTime">Time to test for validity.</param>
            <param name="currentTime">Specified current time (e.g., could be Date.Now or Date.UtcNow).</param>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be
            valid.</param>
            <returns>True, if time is within the specified range.</returns>
            <remarks>
            <para>Time is considered valid if it exists within the specified lag time/lead time range of current
            time.</para>
            <para>Note that lag time and lead time must be greater than zero, but can be set to sub-second
            intervals.</para>
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">LagTime and LeadTime must be greater than zero, but can
            be less than one.</exception>
        </member>
        <member name="M:GSF.DateTimeExtensions.DistanceBeyondSecond(System.DateTime)">
            <summary>Gets the distance, in <see cref="T:GSF.Ticks"/>, beyond the top of the <paramref name="timestamp"/> second.</summary>
            <param name="timestamp">Timestamp to evaluate.</param>
            <returns>Timestamp's tick distance from the top of the second.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.BaselinedTimestamp(System.DateTime,GSF.BaselineTimeInterval)">
            <summary>Creates a baselined timestamp which begins at the specified time interval.</summary>
            <param name="timestamp">Timestamp to baseline.</param>
            <param name="interval">
            <see cref="T:GSF.BaselineTimeInterval"/> to which <paramref name="timestamp"/> should be baselined.
            </param>
            <returns>
            A new <see cref="T:System.DateTime"/> value that represents a baselined timestamp that begins at the
            specified <see cref="T:GSF.BaselineTimeInterval"/>.
            </returns>
            <remarks>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Second"/> would return the <see cref="T:System.DateTime"/>
            value starting at zero milliseconds.<br/>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Minute"/> would return the <see cref="T:System.DateTime"/>
            value starting at zero seconds and milliseconds.<br/>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Hour"/> would return the <see cref="T:System.DateTime"/>
            value starting at zero minutes, seconds and milliseconds.<br/>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Day"/> would return the <see cref="T:System.DateTime"/>
            value starting at zero hours, minutes, seconds and milliseconds.<br/>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Month"/> would return the <see cref="T:System.DateTime"/>
            value starting at day one, zero hours, minutes, seconds and milliseconds.<br/>
            Baselining to the <see cref="F:GSF.BaselineTimeInterval.Year"/> would return the <see cref="T:System.DateTime"/>
            value starting at month one, day one, zero hours, minutes, seconds and milliseconds.
            </remarks>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeToEasternTime(System.DateTime)">
            <summary>Converts given local time to Eastern time.</summary>
            <param name="timestamp">Timestamp in local time to be converted to Eastern time.</param>
            <returns>
            <para>Timestamp in Eastern time.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeToCentralTime(System.DateTime)">
            <summary>Converts given local time to Central time.</summary>
            <param name="timestamp">Timestamp in local time to be converted to Central time.</param>
            <returns>
            <para>Timestamp in Central time.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeToMountainTime(System.DateTime)">
            <summary>Converts given local time to Mountain time.</summary>
            <param name="timestamp">Timestamp in local time to be converted to Mountain time.</param>
            <returns>
            <para>Timestamp in Mountain time.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeToPacificTime(System.DateTime)">
            <summary>Converts given local time to Pacific time.</summary>
            <param name="timestamp">Timestamp in local time to be converted to Pacific time.</param>
            <returns>
            <para>Timestamp in Pacific time.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeToUniversalTime(System.DateTime)">
            <summary>Converts given local time to Universally Coordinated Time (a.k.a., Greenwich Meridian Time).</summary>
            <remarks>This function is only provided for the sake of completeness. All it does is call the
            "ToUniversalTime" property on the given timestamp.</remarks>
            <param name="timestamp">Timestamp in local time to be converted to Universal time.</param>
            <returns>
            <para>Timestamp in UniversalTime (a.k.a., GMT).</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeTo(System.DateTime,System.String)">
            <summary>Converts given local time to time in specified time zone.</summary>
            <param name="timestamp">Timestamp in local time to be converted to time in specified time zone.</param>
            <param name="destinationTimeZoneStandardName">Standard name of desired end time zone for given
            timestamp.</param>
            <returns>
            <para>Timestamp in specified time zone.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.LocalTimeTo(System.DateTime,System.TimeZoneInfo)">
            <summary>Converts given local time to time in specified time zone.</summary>
            <param name="timestamp">Timestamp in local time to be converted to time in specified time zone.</param>
            <param name="destinationTimeZone">Desired end time zone for given timestamp.</param>
            <returns>
            <para>Timestamp in specified time zone.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeToEasternTime(System.DateTime)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to Eastern time timestamp.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <returns>The timestamp in Eastern time.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeToCentralTime(System.DateTime)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to Central time timestamp.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <returns>The timestamp in Central time.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeToMountainTime(System.DateTime)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to Mountain time timestamp.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <returns>The timestamp in Mountain time.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeToPacificTime(System.DateTime)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to Pacific time timestamp.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <returns>The timestamp in Pacific time.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeTo(System.DateTime,System.String)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to timestamp in specified time zone.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <param name="destinationTimeZoneStandardName">The time zone standard name to which the Universally
            Coordinated Time timestamp is to be converted to.</param>
            <returns>The timestamp in the specified time zone.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.UniversalTimeTo(System.DateTime,System.TimeZoneInfo)">
            <summary>
            Converts the specified Universally Coordinated Time timestamp to timestamp in specified time zone.
            </summary>
            <param name="universalTimestamp">The Universally Coordinated Time timestamp that is to be converted.</param>
            <param name="destinationTimeZone">The time zone to which the Universally Coordinated Time timestamp
            is to be converted to.</param>
            <returns>The timestamp in the specified time zone.</returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.TimeZoneToTimeZone(System.DateTime,System.String,System.String)">
            <summary>Converts given timestamp from one time zone to another using standard names for time zones.</summary>
            <param name="timestamp">Timestamp in source time zone to be converted to time in destination time zone.</param>
            <param name="sourceTimeZoneStandardName">Standard name of time zone for given source timestamp.</param>
            <param name="destinationTimeZoneStandardName">Standard name of desired end time zone for given source
            timestamp.</param>
            <returns>
            <para>Timestamp in destination time zone.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.TimeZoneToTimeZone(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo)">
            <summary>Converts given timestamp from one time zone to another.</summary>
            <param name="timestamp">Timestamp in source time zone to be converted to time in destination time
            zone.</param>
            <param name="sourceTimeZone">Time zone for given source timestamp.</param>
            <param name="destinationTimeZone">Desired end time zone for given source timestamp.</param>
            <returns>
            <para>Timestamp in destination time zone.</para>
            </returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.AbbreviatedMonthName(System.DateTime)">
            <summary>Gets the abbreviated month name for month of the timestamp.</summary>
            <param name="timestamp">Timestamp from which month name is extracted.</param>
            <returns>String representation of the month name based on <paramref name="timestamp"/></returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.MonthName(System.DateTime)">
            <summary>Gets the full month name for month of the timestamp.</summary>
            <param name="timestamp">Timestamp from which month name is extracted.</param>
            <returns>String representation of the month name based on <paramref name="timestamp"/></returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.AbbreviatedWeekdayName(System.DateTime)">
            <summary>Gets the abbreviated weekday name for weekday of the timestamp.</summary>
            <param name="timestamp">Timestamp from which weekday name is extracted.</param>
            <returns>String representation of the weekday name based on <paramref name="timestamp"/></returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.ShortWeekdayName(System.DateTime)">
            <summary>Gets the shortest weekday name for weekday of the timestamp.</summary>
            <param name="timestamp">Timestamp from which weekday name is extracted.</param>
            <returns>String representation of the short weekday name based on <paramref name="timestamp"/></returns>
        </member>
        <member name="M:GSF.DateTimeExtensions.WeekdayName(System.DateTime)">
            <summary>Gets the full weekday name for weekday of the timestamp.</summary>
            <param name="timestamp">Timestamp from which weekday name is extracted.</param>
            <returns>String representation of the weekday name based on <paramref name="timestamp"/></returns>
        </member>
        <member name="T:GSF.Diagnostics.NamespaceDoc">
            <summary>
            Contains classes used to simplify and standardize performance monitoring for applications.
            </summary>
        </member>
        <member name="T:GSF.Diagnostics.PerformanceCounter">
             <summary>
             Represents an extension of the basic <see cref="T:System.Diagnostics.PerformanceCounter"/> providing additional statistical logic.
             </summary>
             <example>
             This example shows how to create a performance counter for processor utilization:
             <code>
             using System;
             using System.Threading;
             using GSF.Diagnostics;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     PerformanceCounter counter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
                     while (true)
                     {
                         Thread.Sleep(1000);
                         counter.Sample();
                         Console.WriteLine(string.Format("Last value: {0}", counter.LastValue));
                         Console.WriteLine(string.Format("Minimum value: {0}", counter.MinimumValue));
                         Console.WriteLine(string.Format("Maximum value: {0}", counter.MaximumValue));
                         Console.WriteLine(string.Format("Average value: {0}", counter.AverageValue));
                         Console.WriteLine(new string('-', 30));
                     }
                 }
             }
             </code>
             </example>
        </member>
        <member name="F:GSF.Diagnostics.PerformanceCounter.DefaultValueUnit">
            <summary>
            Default measurement unit of the statistical values.
            </summary>
        </member>
        <member name="F:GSF.Diagnostics.PerformanceCounter.DefaultValueDivisor">
            <summary>
            Default divisor to be applied to the statistical value.
            </summary>
        </member>
        <member name="F:GSF.Diagnostics.PerformanceCounter.DefaultSamplingWindow">
            <summary>
            Default number of samples over which statistical values are to be calculated.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> class.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> class.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.#ctor(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> class.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueUnit">The measurement unit for the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.#ctor(System.String,System.String,System.String,System.String,System.String,System.Single,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> class.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueUnit">The measurement unit for the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueDivisor">The divisor to be applied to the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="readOnly">Flag that determines if this counter is read-only.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object and optionally 
            releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.Sample">
            <summary>
            Obtains a sample value from the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceCounter.Reset">
            <summary>
            Resets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object to its initial state.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.AliasName">
            <summary>
            Gets or sets an alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.ValueUnit">
            <summary>
            Gets or sets the measurement unit of <see cref="P:GSF.Diagnostics.PerformanceCounter.LastValue"/>, <see cref="P:GSF.Diagnostics.PerformanceCounter.MinimumValue"/>, 
            <see cref="P:GSF.Diagnostics.PerformanceCounter.MaximumValue"/> and <see cref="P:GSF.Diagnostics.PerformanceCounter.AverageValue"/>
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.ValueDivisor">
            <summary>
            Gets or sets the divisor to be applied to the <see cref="P:GSF.Diagnostics.PerformanceCounter.LastValue"/>, <see cref="P:GSF.Diagnostics.PerformanceCounter.MinimumValue"/>, 
            <see cref="P:GSF.Diagnostics.PerformanceCounter.MaximumValue"/> and <see cref="P:GSF.Diagnostics.PerformanceCounter.AverageValue"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is not greater than 0.</exception>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.SamplingWindow">
            <summary>
            Gets or sets the number of samples to use to determine the <see cref="P:GSF.Diagnostics.PerformanceCounter.LastValue"/>, 
            <see cref="P:GSF.Diagnostics.PerformanceCounter.MinimumValue"/>, <see cref="P:GSF.Diagnostics.PerformanceCounter.MaximumValue"/> and <see cref="P:GSF.Diagnostics.PerformanceCounter.AverageValue"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned is not greater than 0.</exception>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.Samples">
            <summary>
            Gets a list of sampled values from the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>
            </summary>
            <remarks>
            Thread-safety Warning: Due to the asynchronous nature of <see cref="T:GSF.Diagnostics.PerformanceCounter"/>, a lock must be 
            obtained on <see cref="P:GSF.Diagnostics.PerformanceCounter.Samples"/> before accessing it.
            </remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.LastValue">
            <summary>
            Gets the last sample value from the samples of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.MinimumValue">
            <summary>
            Gets the minimum sample value from the samples of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.MaximumValue">
            <summary>
            Gets the maximum sample value from the samples of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.AverageValue">
            <summary>
            Gets the average value from the samples of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.LifetimeMaximumValue">
            <summary>
            Gets the maximum sample value over the entire lifetime of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.LifetimeAverageValue">
            <summary>
            Gets the average sample value over the entire lifetime of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.LifetimeSampleCount">
            <summary>
            Gets the total values sampled over the entire lifetime of the <see cref="P:GSF.Diagnostics.PerformanceCounter.BaseCounter"/>.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceCounter.BaseCounter">
            <summary>
            Gets the <see cref="T:System.Diagnostics.PerformanceCounter"/> object that this <see cref="T:GSF.Diagnostics.PerformanceCounter"/> objects wraps.
            </summary>
        </member>
        <member name="T:GSF.Diagnostics.PerformanceMonitor">
             <summary>
             Represents a process performance monitor that operates similar to the Windows Performance Monitor utility
             that can be used to monitor system performance.
             </summary>
             <example>
             This example shows how to use <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> for monitoring application performance:
             <code>
             using System;
             using System.Threading;
             using GSF.Diagnostics;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     PerformanceMonitor perfMon = new PerformanceMonitor();
                     while (true)
                     {
                         // Display process performance.
                         Thread.Sleep(5000);
                         Console.WriteLine("");
                         Console.Write(perfMon.Status);
                     }
                 }
             }
             </code>
             </example>
             <seealso cref="T:GSF.Diagnostics.PerformanceCounter"/>
        </member>
        <member name="F:GSF.Diagnostics.PerformanceMonitor.ThreadPoolCountersCategoryName">
            <summary>
            Name of the custom thread pool counters category.
            </summary>
        </member>
        <member name="F:GSF.Diagnostics.PerformanceMonitor.DefaultSamplingInterval">
            <summary>
            Default interval for sampling the <see cref="P:GSF.Diagnostics.PerformanceMonitor.Counters"/>.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> class.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.#ctor(System.Double,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> class.
            </summary>
            <param name="samplingInterval">Interval, in milliseconds, at which the <see cref="P:GSF.Diagnostics.PerformanceMonitor.Counters"/> are to be sampled.</param>
            <param name="addDefaultCounters">Set to <c>true</c> to add default counters; otherwise <c>false</c>.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.#ctor(System.String,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> class.
            </summary>
            <param name="processName">Name of the <see cref="T:System.Diagnostics.Process"/> whose performance is to be monitored.</param>
            <param name="addDefaultCounters">Set to <c>true</c> to add default counters; otherwise <c>false</c>.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.#ctor(System.String,System.Double,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> class.
            </summary>
            <param name="processName">Name of the <see cref="T:System.Diagnostics.Process"/> whose performance is to be monitored.</param>
            <param name="samplingInterval">Interval, in milliseconds, at which the <see cref="P:GSF.Diagnostics.PerformanceMonitor.Counters"/> are to be sampled.</param>
            <param name="addDefaultCounters">Set to <c>true</c> to add default counters; otherwise <c>false</c>.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object.
            </summary>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.AddCounter(System.String,System.String,System.String)">
            <summary>
            Adds a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be monitored.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.AddCounter(System.String,System.String,System.String,System.String)">
            <summary>
            Adds a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be monitored.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.AddCounter(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Adds a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be monitored.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueUnit">The measurement unit for the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.AddCounter(System.String,System.String,System.String,System.String,System.String,System.Single,System.Boolean)">
            <summary>
            Adds a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be monitored.
            </summary>
            <param name="categoryName">The name of the performance counter category (performance object) with which this performance counter is associated.</param>
            <param name="counterName">The name of the performance counter.</param>
            <param name="instanceName">The name of the performance counter category instance, or an empty string (""), if the category contains a single instance.</param>
            <param name="aliasName">The alias name for the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueUnit">The measurement unit for the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="valueDivisor">The divisor to be applied to the statistical values of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object.</param>
            <param name="readOnly">Flag that determines if this counter is read-only.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.AddCounter(GSF.Diagnostics.PerformanceCounter)">
            <summary>
            Adds a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be monitored.
            </summary>
            <param name="counter">The <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object to be monitored.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.RemoveCounter(GSF.Diagnostics.PerformanceCounter)">
            <summary>
            Removes a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> being monitored.
            </summary>
            <param name="counter">The <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object to be unmonitored.</param>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.FindCounter(System.String)">
            <summary>
            Returns a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object matching the specified counter name.
            </summary>
            <param name="counterName">Name of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be retrieved.</param>
            <returns>A <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object if a match is found; otherwise null.</returns>
            <remarks>
            First <see cref="T:GSF.Diagnostics.PerformanceCounter"/> with matching name is returned. If same name exists within
            muliple monitored categories, use <see cref="M:GSF.Diagnostics.PerformanceMonitor.FindCounter(System.String,System.String)"/> overload instead.
            </remarks>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.FindCounter(System.String,System.String)">
            <summary>
            Returns a <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object matching the specified counter name.
            </summary>
            <param name="categoryName">Category of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be retrieved.</param>
            <param name="counterName">Name of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> to be retrieved.</param>
            <returns>A <see cref="T:GSF.Diagnostics.PerformanceCounter"/> object if a match is found; otherwise null.</returns>
        </member>
        <member name="M:GSF.Diagnostics.PerformanceMonitor.SampleCounters">
            <summary>
            Sample all defined counters.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.ProcessName">
            <summary>
            Gets or sets the name of the <see cref="T:System.Diagnostics.Process"/> to be monitored.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.SamplingInterval">
            <summary>
            Gets or sets the interval, in milliseconds, at which the <see cref="P:GSF.Diagnostics.PerformanceMonitor.Counters"/> are to be sampled.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.Counters">
            <summary>
            Gets a read-only list of the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> objects monitored by the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.CPUUsage">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the processor utilization of the monitored process.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.DatagramSendRate">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the IP based datagrams sent / second of the system.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.DatagramReceiveRate">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the IP based datagrams received / second of the system.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.ThreadingContentionRate">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the .NET threading contention rate / second of the process.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.MemoryUsage">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the memory utilization of the monitored process.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.IOUsage">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the rate at which the monitored process is 
            issuing bytes to I/O operations that do not involve data such as control operations.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.IOActivity">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the rate at which the monitored process is 
            issuing read and write I/O operations.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.HandleCount">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the total number of handles currently open by 
            the monitored process.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.ThreadCount">
            <summary>
            Gets the <see cref="T:GSF.Diagnostics.PerformanceCounter"/> that monitors the number of threads currently active in the 
            monitored process.
            </summary>
            <remarks>This <see cref="T:GSF.Diagnostics.PerformanceCounter"/> is added by default.</remarks>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.Name">
            <summary>
            Gets the friendly name of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.Status">
            <summary>
            Gets the current status of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object.
            </summary>
        </member>
        <member name="P:GSF.Diagnostics.PerformanceMonitor.LifetimeStatus">
            <summary>
            Gets the lifetime status statistics of the <see cref="T:GSF.Diagnostics.PerformanceMonitor"/> object.
            </summary>
        </member>
        <member name="T:GSF.Drawing.BitmapExtensions">
            <summary>
            Defines extension functions related to bitmap image manipulation.
            </summary>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.Resize(System.Drawing.Bitmap,System.Drawing.Size)">
             <summary>
             Returns a resized <see cref="T:System.Drawing.Bitmap"/> image of the original.
             </summary>
             <param name="originalImage">The original <see cref="T:System.Drawing.Bitmap"/> image to be resized.</param>
             <param name="newSize">The <see cref="T:System.Drawing.Size"/> to which the original image is to be resized.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to resize an image:
             <code>
             using System;
             using GSF.Drawing;
             using System.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load the original image.
                     Bitmap original = (Bitmap)Bitmap.FromFile("Original.jpg");
                     // Resize the original image.
                     Bitmap originalResized = original.Resize(new Size(800, 600));
                     // Save the resized image to file.
                     originalResized.Save("OriginalResized.jpg");
            
                     // Clean-up.
                     original.Dispose();
                     originalResized.Dispose();
                     
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.Resize(System.Drawing.Bitmap,System.Drawing.Size,System.Boolean)">
             <summary>
             Returns a resized <see cref="T:System.Drawing.Bitmap"/> image of the original.
             </summary>
             <param name="originalImage">The original <see cref="T:System.Drawing.Bitmap"/> image to be resized.</param>
             <param name="newSize">The <see cref="T:System.Drawing.Size"/> to which the original image is to be resized.</param>
             <param name="disposeOriginal">true if the original image is to be disposed after resizing it; otherwise false.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to resize an image and dispose the original image that was resized:
             <code>
             using System;
             using System.Drawing;
             using GSF.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load original, resize it, and dispose original.
                     using (Bitmap resized = ((Bitmap)Bitmap.FromFile("Original.jpg")).Resize(new Size(800, 600), true))
                     {
                         // Save the resized image to file.
                         resized.Save("OriginalResized.jpg");
                     }
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.Crop(System.Drawing.Bitmap,System.Drawing.Rectangle)">
             <summary>
             Returns a cropped <see cref="T:System.Drawing.Bitmap"/> image of the original.
             </summary>
             <param name="originalImage">The original <see cref="T:System.Drawing.Bitmap"/> image to be cropped.</param>
             <param name="croppedArea">The <see cref="T:System.Drawing.Rectangle"/> area of the original image to be cropped.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to crop an image:
             <code>
             using System;
             using System.Drawing;
             using GSF.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load the original image.
                     Bitmap original = (Bitmap)Bitmap.FromFile("Original.jpg");
                     // Crop the original image.
                     Bitmap originalCropped = original.Crop(new Rectangle(0, 0, 300, 300));
                     // Save the cropped image to file.
                     originalCropped.Save("OriginalCropped.jpg");
                     
                     // Clean-up.
                     original.Dispose();
                     originalCropped.Dispose();
            
                     Console.ReadLine();
                 }
             }        
             </code>
             </example>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.Crop(System.Drawing.Bitmap,System.Drawing.Rectangle,System.Boolean)">
             <summary>
             Returns a cropped <see cref="T:System.Drawing.Bitmap"/> image of the original.
             </summary>
             <param name="originalImage">The original <see cref="T:System.Drawing.Bitmap"/> image to be cropped.</param>
             <param name="croppedArea">The <see cref="T:System.Drawing.Rectangle"/> area of the original image to be cropped.</param>
             <param name="disposeOriginal">true if the original image is to be disposed after cropping it; otherwise false.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to crop an image and dispose the original image that was cropped:
             <code>
             using System;
             using System.Drawing;
             using GSF.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load original, crop it, and dispose original.
                     using (Bitmap cropped = ((Bitmap)Bitmap.FromFile("Original.jpg")).Crop(new Rectangle(0, 0, 300, 300), true))
                     {
                         // Save the cropped image to file.
                         cropped.Save("OriginalCropped.jpg");
                     }
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.ConvertTo(System.Drawing.Bitmap,System.Drawing.Imaging.ImageFormat)">
             <summary>
             Converts a <see cref="T:System.Drawing.Bitmap"/> image to the specified <see cref="T:System.Drawing.Imaging.ImageFormat"/>.
             </summary>
             <param name="originalImage">The <see cref="T:System.Drawing.Bitmap"/> image to be converted.</param>
             <param name="newFormat">The new <see cref="T:System.Drawing.Imaging.ImageFormat"/> of the image.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to convert the format of an image:
             <code>
             using System;
             using System.Drawing;
             using System.Drawing.Imaging;
             using GSF.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load the original image.
                     Bitmap original = (Bitmap)Bitmap.FromFile("Original.jpg");
                     // Convert the original image.
                     Bitmap originalGif = original.ConvertTo(ImageFormat.Gif);
                     // Save the converted image to file.
                     originalGif.Save("OriginalGif.gif");
            
                     // Clean-up.
                     original.Dispose();
                     originalGif.Dispose();
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Drawing.BitmapExtensions.ConvertTo(System.Drawing.Bitmap,System.Drawing.Imaging.ImageFormat,System.Boolean)">
             <summary>
             Converts a <see cref="T:System.Drawing.Bitmap"/> image to the specified <see cref="T:System.Drawing.Imaging.ImageFormat"/>.
             </summary>
             <param name="originalImage">The <see cref="T:System.Drawing.Bitmap"/> image to be converted.</param>
             <param name="newFormat">The new <see cref="T:System.Drawing.Imaging.ImageFormat"/> of the image.</param>
             <param name="disposeOriginal">true if the original image is to be disposed after converting it; otherwise false.</param>
             <returns>A <see cref="T:System.Drawing.Bitmap"/> instance.</returns>
             <example>
             This example shows how to convert the format of an image and dispose the original image that was converted:
             <code>
             using System;
             using System.Drawing;
             using System.Drawing.Imaging;
             using GSF.Drawing;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Load original, convert it, and dispose original.
                     using (Bitmap converted = ((Bitmap)Bitmap.FromFile("Original.jpg")).ConvertTo(ImageFormat.Gif))
                     {
                         // Save the converted image to file.
                         converted.Save("OriginalGif.gif");
                     }
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="T:GSF.Drawing.NamespaceDoc">
            <summary>
            Contains extension functions used to simplify managing images.
            </summary>
        </member>
        <member name="T:GSF.Endianness">
            <summary>
            Endian Byte Order Enumeration.
            </summary>
        </member>
        <member name="F:GSF.Endianness.BigEndian">
            <summary>
            Big-endian byte order.
            </summary>
        </member>
        <member name="F:GSF.Endianness.LittleEndian">
            <summary>
            Little-endian byte order.
            </summary>
        </member>
        <member name="T:GSF.BigEndianOrder">
            <summary>
            Represents a big-endian byte order interoperability class.
            </summary>
        </member>
        <member name="T:GSF.EndianOrder">
            <summary>
            Represents an endian byte order interoperability class.
            </summary>
            <remarks>
            Intel systems use little-endian byte order, other systems, such as Unix, use big-endian byte ordering.
            Little-endian ordering means bits are ordered such that the bit whose in-memory representation is right-most is the most-significant-bit in a byte.
            Big-endian ordering means bits are ordered such that the bit whose in-memory representation is left-most is the most-significant-bit in a byte.
            </remarks>
        </member>
        <member name="M:GSF.EndianOrder.#ctor(GSF.Endianness)">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.EndianOrder"/> class.
            </summary>
            <param name="targetEndianness">Endianness parameter.</param>
        </member>
        <member name="M:GSF.EndianOrder.CopyBuffer(System.Byte[],System.Int32,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Copies a buffer in the target endian-order of this <see cref="T:GSF.EndianOrder"/> representation.
            </summary>
            <param name="sourceBuffer">The source buffer.</param>
            <param name="sourceIndex">The byte offset into <paramref name="sourceBuffer"/>.</param>
            <param name="destinationBuffer">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationBuffer"/>.</param>
            <param name="length">The number of bytes to copy.</param>
        </member>
        <member name="M:GSF.EndianOrder.CoerceByteOrder(System.Byte[])">
            <summary>
            Changes the order of a buffer (reverse or pass-through) based on the target endian-order of this <see cref="T:GSF.EndianOrder"/> representation.
            </summary>
            <param name="buffer">Byte buffer to be coerced.</param>
            <returns>Coerced byte array.</returns>
        </member>
        <member name="M:GSF.EndianOrder.ToBoolean(System.Byte[],System.Int32)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value converted from one byte at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>true if the byte at startIndex in value is nonzero; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToChar(System.Byte[],System.Int32)">
            <summary>
            Returns a Unicode character converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A character formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToDouble(System.Byte[],System.Int32)">
            <summary>
            Returns a double-precision floating point number converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A double-precision floating point number formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit signed integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit signed integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit signed integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit signed integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit signed integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit signed integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit signed integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit signed integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToSingle(System.Byte[],System.Int32)">
            <summary>
            Returns a single-precision floating point number converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A single-precision floating point number formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToUInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit unsigned integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit unsigned integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToUInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit unsigned integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit unsigned integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToUInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit unsigned integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit unsigned integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToUInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit unsigned integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit unsigned integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.ToGuid(System.Byte[],System.Int32)">
            <summary>
            Returns a <see cref="T:System.Guid"/> converted from sixteen bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A <see cref="T:System.Guid"/> formed by sixteen bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes``1(``0)">
            <summary>
            Returns the specified value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Boolean)">
            <summary>
            Returns the specified <see cref="T:System.Boolean"/> value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Char)">
            <summary>
            Returns the specified Unicode character value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The Unicode character value to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Double)">
            <summary>
            Returns the specified double-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Int16)">
            <summary>
            Returns the specified 16-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(GSF.Int24)">
            <summary>
            Returns the specified 24-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Int32)">
            <summary>
            Returns the specified 32-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Int64)">
            <summary>
            Returns the specified 64-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Single)">
            <summary>
            Returns the specified single-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.UInt16)">
            <summary>
            Returns the specified 16-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(GSF.UInt24)">
            <summary>
            Returns the specified 24-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.UInt32)">
            <summary>
            Returns the specified 32-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.UInt64)">
            <summary>
            Returns the specified 64-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.EndianOrder.GetBytes(System.Guid)">
            <summary>
            Returns the specified <see cref="T:System.Guid"/> value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 16.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes``1(``0,System.Byte[],System.Int32)">
            <summary>
            Copies the specified primitive type value as an array of bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
            <returns>Length of bytes copied into array based on size of <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Boolean,System.Byte[],System.Int32)">
            <summary>
            Copies the specified <see cref="T:System.Boolean"/> value as an array of 1 byte in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Char,System.Byte[],System.Int32)">
            <summary>
            Copies the specified Unicode character value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The Unicode character value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Double,System.Byte[],System.Int32)">
            <summary>
            Copies the specified double-precision floating point value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Int16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit signed integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(GSF.Int24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit signed integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Int32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit signed integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Int64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit signed integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Single,System.Byte[],System.Int32)">
            <summary>
            Copies the specified single-precision floating point value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.UInt16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit unsigned integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(GSF.UInt24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit unsigned integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.UInt32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit unsigned integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.UInt64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit unsigned integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.EndianOrder.CopyBytes(System.Guid,System.Byte[],System.Int32)">
            <summary>
            Copies the specified <see cref="T:System.Guid"/> value as an array of 16 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Guid"/> to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="F:GSF.EndianOrder.BigEndian">
            <summary>Default instance of the Big-Endian byte order conversion class.</summary>
        </member>
        <member name="F:GSF.EndianOrder.LittleEndian">
            <summary>Default instance of the Little-Endian byte order conversion class.</summary>
        </member>
        <member name="P:GSF.EndianOrder.TargetEndianness">
            <summary>
            Returns the target endian-order of this <see cref="T:GSF.EndianOrder"/> representation.
            </summary>
        </member>
        <member name="M:GSF.BigEndianOrder.#ctor">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.BigEndianOrder"/> class.
            </summary>
        </member>
        <member name="P:GSF.BigEndianOrder.Default">
            <summary>
            Returns the default instance of the <see cref="T:GSF.BigEndianOrder"/> class.
            </summary>
        </member>
        <member name="T:GSF.LittleEndianOrder">
            <summary>
            Represents a little-endian byte order interoperability class.
            </summary>
        </member>
        <member name="M:GSF.LittleEndianOrder.#ctor">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.LittleEndianOrder"/> class.
            </summary>
        </member>
        <member name="P:GSF.LittleEndianOrder.Default">
            <summary>
            Returns the default instance of the <see cref="T:GSF.LittleEndianOrder"/> class.
            </summary>
        </member>
        <member name="T:GSF.NativeEndianOrder">
            <summary>
            Represents a native-endian byte order interoperability class.
            </summary>
        </member>
        <member name="M:GSF.NativeEndianOrder.#ctor">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.NativeEndianOrder"/> class.
            </summary>
        </member>
        <member name="P:GSF.NativeEndianOrder.Default">
            <summary>
            Returns the default instance of the <see cref="T:GSF.NativeEndianOrder"/> class.
            </summary>
        </member>
        <member name="T:GSF.EnumExtensions">
            <summary>
            Defines extension methods related to enumerations.
            </summary>
        </member>
        <member name="M:GSF.EnumExtensions.GetDescription(System.Enum)">
            <summary>
            Retrieves the description of the value that this <see cref="T:System.Enum"/> represents extracted from the <see cref="T:System.ComponentModel.DescriptionAttribute"/>, or the enumeration name
            if no description is available.
            </summary>
            <param name="enumeration"><see cref="T:System.Enum"/> to operate on.</param>
            <returns>Description of the <see cref="T:System.Enum"/> if specified, otherwise the <see cref="T:System.String"/> representation of this <paramref name="enumeration"/>.</returns>
        </member>
        <member name="M:GSF.EnumExtensions.GetEnumValueByDescription(System.String,System.Type,System.Boolean)">
            <summary>
            Gets the enumeration of the specified <paramref name="type"/> whose description matches this <paramref name="description"/>.
            </summary>
            <param name="description">Description to be used for lookup of the enumeration.</param>
            <param name="type"><see cref="T:System.Type"/> of the enumeration.</param>
            <param name="ignoreCase"><c>true</c> to ignore case during the comparison; otherwise, <c>false</c>.</param>
            <returns>An enumeration of the specified <paramref name="type"/> if a match is found, otherwise null.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="type"/> is not an enumeration.</exception>
        </member>
        <member name="M:GSF.EnumExtensions.GetEnumValueByName(System.String,System.Type,System.Boolean)">
            <summary>
            Gets the enumeration value with the specified name.
            </summary>
            <param name="name">Name to search for.</param>
            <param name="type"><see cref="T:System.Type"/> of the enumeration.</param>
            <param name="ignoreCase"><c>true</c> to ignore case during the comparison; otherwise, <c>false</c>.</param>
            <returns>Specific value of the enumerated constant in terms of its underlying type associated with the specified <paramref name="name"/>, or <c>null</c>
            if no matching enumerated value was found.</returns>
        </member>
        <member name="M:GSF.EnumExtensions.GetFormattedName(System.Enum)">
            <summary>
            Retrieves a formatted name of the value that this <see cref="T:System.Enum"/> represents for visual display.
            </summary>
            <param name="enumeration"><see cref="T:System.Enum"/> to operate on.</param>
            <returns>Formatted enumeration name of the specified value for visual display.</returns>
        </member>
        <member name="T:GSF.ErrorManagement.ErrorLogger">
             <summary>
             Represents a logger that can be used for logging handled as well as unhandled exceptions across multiple 
             application types (Console Application, Windows Service, Web Application, Web Service).
             </summary>
             <remarks>
             <para>
             Adapted from exception handling code by Jeff Atwood of CodingHorror.com. Demo projects for handling unhandled
             exception in both windows and web environment by Jeff Atwood are available at The Code Project web site.
             See: http://www.codeproject.com/script/articles/list_articles.asp?userid=450027
             </para>
             <para>
             Error logger with Windows Forms capabilities can be found in the GSF.Windows assembly.
             </para>
             </remarks>
             <example>
             This example shows how to use the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> component to log handled and unhandled exceptions:
             <code>
             using System;
             using System.IO;
             using GSF.ErrorManagement;
            
             class Program
             {
                 static ErrorLogger s_logger;
            
                 static Program()
                 {
                     s_logger = new ErrorLogger();
                     s_logger.LogToUI = true;                    // Show exception info on the UI.
                     s_logger.LogToFile = true;                  // Log exception info to a file.
                     s_logger.LogToEmail = true;                 // Send exception info in an e-mail.
                     s_logger.LogToEventLog = true;              // Log exception info to the event log.
                     s_logger.ContactEmail = "dev@email.com";    // Provide an e-mail address.
                     s_logger.HandleUnhandledException = true;   // Configure to handle unhandled exceptions.
                     s_logger.PersistSettings = true;            // Save settings to the config file.
                     s_logger.Initialize();                      // Initialize ErrorLogger component for use.
                 }
            
                 static void Main(string[] args)
                 {
                     try
                     {
                         // This may cause a handled FileNotFoundException if the file doesn't exist.
                         string data = File.ReadAllText(@"c:\NonExistentFile.txt");
                     }
                     catch (Exception ex)
                     {
                         // When logging handled exceptions we want to disable loggers (UI logger and E-mail logger) that
                         // may require interaction either directly or indirectly as it can be annoying. All the loggers
                         // are enabled automatically after the handled exception has been logged.
                         s_logger.SuppressInteractiveLogging();
                         s_logger.Log(ex);
                     }
            
                     int numerator = 1;
                     int denominator = 0;
                     int result = numerator / denominator;   // This will cause an unhandled DivideByZeroException.
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
             <seealso cref="T:GSF.ErrorManagement.ErrorModule"/>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogToUI">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToUI"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogToFile">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToFile"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogToEmail">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToEmail"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogToEventLog">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToEventLog"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogToDatabase">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToDatabase"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultLogUserInfo">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogUserInfo"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultDatabaseLogSize">
            <summary>
            Specifies the default value for the <see cref="F:GSF.ErrorManagement.ErrorLogger.DefaultDatabaseLogSize"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultSmtpServer">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.SmtpServer"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultContactName">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.ContactName"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultContactEmail">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.ContactEmail"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultContactPhone">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.ContactPhone"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultHandleUnhandledException">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.HandleUnhandledException"/> property.
            </summary>
        </member>
        <member name="F:GSF.ErrorManagement.ErrorLogger.DefaultExitOnUnhandledException">
            <summary>
            Specifies the default value for the <see cref="P:GSF.ErrorManagement.ErrorLogger.ExitOnUnhandledException"/> property.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> class.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.#ctor(System.ComponentModel.IContainer)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> class.
            </summary>
            <param name="container"><see cref="T:System.ComponentModel.IContainer"/> object that contains the <see cref="T:GSF.ErrorManagement.ErrorLogger"/>.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object and optionally releases the 
            managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object.
            </summary>
            <remarks>
            <see cref="M:GSF.ErrorManagement.ErrorLogger.Initialize"/> is to be called by user-code directly only if the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> 
            object is not consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.BeginInit">
            <summary>
            Performs necessary operations before the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.ErrorManagement.ErrorLogger.BeginInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.EndInit">
            <summary>
            Performs necessary operations after the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.ErrorManagement.ErrorLogger.EndInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.SaveSettings">
            <summary>
            Saves settings for the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object to the config file if the <see cref="P:GSF.ErrorManagement.ErrorLogger.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.ErrorManagement.ErrorLogger.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.LoadSettings">
            <summary>
            Loads saved settings for the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object from the config file if the <see cref="P:GSF.ErrorManagement.ErrorLogger.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.ErrorManagement.ErrorLogger.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Log(System.Exception)">
            <summary>
            Logs information about the encountered <see cref="T:System.Exception"/>.
            </summary>
            <param name="exception">Encountered <see cref="T:System.Exception"/> whose information is to be logged.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Log(System.Exception,System.Boolean)">
            <summary>
            Logs information about the encountered <see cref="T:System.Exception"/>.
            </summary>
            <param name="exception">Encountered <see cref="T:System.Exception"/> whose information is to be logged.</param>
            <param name="exitApplication">true to exit the application; otherwise false.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Register">
            <summary>
            Registers the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object to handle unhandled <see cref="T:System.Exception"/> if the 
            <see cref="P:GSF.ErrorManagement.ErrorLogger.HandleUnhandledException"/> property is set to true.
            </summary>
            <returns><c>true</c> if handlers were registered; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.Unregister">
            <summary>
            Unregister the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object from handling unhandled <see cref="T:System.Exception"/>.
            </summary>
            <returns><c>true</c> if handlers were unregistered; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToUI(System.Exception)">
            <summary>
            Logs encountered <see cref="T:System.Exception"/> to the application UI.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> that was encountered.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToWindowsGui">
            <summary>
            Shows <see cref="T:System.Exception"/> information in a Windows Application.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToWindowsCui">
            <summary>
            Shows <see cref="T:System.Exception"/> information in a Console Application.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToWebPage">
            <summary>
            Shows <see cref="T:System.Exception"/> information in a Web Site.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToFile(System.Exception)">
            <summary>
            Logs encountered <see cref="T:System.Exception"/> to the <see cref="P:GSF.ErrorManagement.ErrorLogger.ErrorLog"/>.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> that was encountered.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToEmail(System.Exception)">
            <summary>
            Logs encountered <see cref="T:System.Exception"/> to an e-mail message.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> that was encountered.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetEmailAttachments">
            <summary>
            Gets or sets the comma-separated or semicolon-separated list of file names to be attached to the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToEventLog(System.Exception)">
            <summary>
            Logs encountered <see cref="T:System.Exception"/> to the <see cref="T:System.Diagnostics.EventLog"/>.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> that was encountered.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.ExceptionToDatabase(System.Exception)">
            <summary>
            Logs encountered <see cref="T:System.Exception"/> to the database.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> that was encountered.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.OnLoggingException(System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.ErrorManagement.ErrorLogger.LoggingException"/> event.
            </summary>
            <param name="exception"><see cref="T:System.Exception"/> to send to <see cref="E:GSF.ErrorManagement.ErrorLogger.LoggingException"/> event.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetErrorText">
            <summary>
            Default <see cref="T:System.Delegate"/> for <see cref="P:GSF.ErrorManagement.ErrorLogger.ErrorTextMethod"/>.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetScopeText">
            <summary>
            Default <see cref="T:System.Delegate"/> for <see cref="P:GSF.ErrorManagement.ErrorLogger.ScopeTextMethod"/>.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetActionText">
            <summary>
            Default <see cref="T:System.Delegate"/> for <see cref="P:GSF.ErrorManagement.ErrorLogger.ActionTextMethod"/>.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetMoreInfoText">
            <summary>
            Default <see cref="T:System.Delegate"/> for <see cref="P:GSF.ErrorManagement.ErrorLogger.MoreInfoTextMethod"/>.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetExtendedMoreInfoText(System.String)">
            <summary>
            Allows other loggers to extend "more info text".
            </summary>
            <param name="bullet">Type of bullet to use for extended info text.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetExceptionInfo(System.Exception,System.Boolean)">
            <summary>
            Gets information about an <see cref="T:System.Exception"/> complete with system and application information.
            </summary>
            <param name="ex"><see cref="T:System.Exception"/> whose information is to be retrieved.</param>
            <param name="includeUserInfo">true if user information is to be include; otherwise false.</param>
            <returns><see cref="T:System.Exception"/> information in text.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetSystemInfo(System.Boolean)">
            <summary>
            Gets information about the system where current application is executing.
            </summary>
            <param name="includeUserInfo">true if user information is to be include; otherwise false.</param>
            <returns>System information in text.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetApplicationInfo">
            <summary>
            Gets information about the current application.
            </summary>
            <returns>Application information in text.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetExceptionGeneralInfo(System.Exception)">
            <summary>
            Gets common information about an <see cref="T:System.Exception"/>.
            </summary>
            <param name="ex"><see cref="T:System.Exception"/> whose common information is to be retrieved.</param>
            <returns>Common <see cref="T:System.Exception"/> information in text.</returns>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorLogger.GetExceptionStackTrace(System.Exception)">
            <summary>
            Gets stack trace information about an <see cref="T:System.Exception"/>.
            </summary>
            <param name="ex"><see cref="T:System.Exception"/> whose stack trace information is to be retrieved.</param>
            <returns><see cref="T:System.Exception"/> stack trace in text.</returns>
        </member>
        <member name="E:GSF.ErrorManagement.ErrorLogger.LoggingException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered while logging an <see cref="T:System.Exception"/>.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:System.Exception"/> that was encountered while logging an <see cref="T:System.Exception"/>.
            </remarks>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogToUI">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:System.Exception"/> information is to be 
            displayed on the application UI.
            </summary>
            <remarks>
            This setting is ignored in Windows Service and Web Service application types.
            </remarks>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogToFile">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:System.Exception"/> information is to be 
            written to the <see cref="P:GSF.ErrorManagement.ErrorLogger.ErrorLog"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogToEmail">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:System.Exception"/> information is to be sent 
            in an e-mail to the <see cref="P:GSF.ErrorManagement.ErrorLogger.ContactEmail"/> address.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogToEventLog">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:System.Exception"/> information is to be 
            written to the <see cref="T:System.Diagnostics.EventLog"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogToDatabase">
            <summary>
            Gets or sets a boolean value that indicates whether <see cref="T:System.Exception"/> information is to be 
            written to the database.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LogUserInfo">
            <summary>
            Gets or sets a boolean value that indicates whether information about local user (for windows applications) 
            or remote user (for web applications) is to be logged when logging an <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.DatabaseLogSize">
            <summary>
            Gets or sets the maximum exception log size to maintain when logging exceptions to the database.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.SmtpServer">
            <summary>
            Gets or sets the SMTP server to be used for sending e-mail messages containing <see cref="T:System.Exception"/> 
            information to the <see cref="P:GSF.ErrorManagement.ErrorLogger.ContactEmail"/> address.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ContactName">
            <summary>
            Gets or sets the name of the person who can be contacted by the end-user in case of an <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ContactEmail">
            <summary>
            Gets or sets the e-mail address where e-mail messages containing <see cref="T:System.Exception"/> information are 
            to be sent when the <see cref="P:GSF.ErrorManagement.ErrorLogger.LogToEmail"/> property is set to true.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ContactPhone">
            <summary>
            Gets or sets the phone number that can be used by the end-user to communicate about an encountered <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the settings of <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object are 
            to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.SettingsCategory">
            <summary>
            Gets or sets the category under which the settings of <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object are to be saved
            to the config file if the <see cref="P:GSF.ErrorManagement.ErrorLogger.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.HandleUnhandledException">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object must register 
            itself to handle <see cref="T:System.Exception"/> that are not trapped inside of a try-catch block.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ExitOnUnhandledException">
            <summary>
            Gets or sets a boolean value that indicates whether the application will terminate after logging an 
            unhandled <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ErrorLog">
            <summary>
            Get the <see cref="T:GSF.IO.LogFile"/> object used for logging <see cref="T:System.Exception"/> information to a file.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object is currently enabled.
            </summary>
            <remarks>
            <see cref="P:GSF.ErrorManagement.ErrorLogger.Enabled"/> property is not be set by user-code directly.
            </remarks>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ErrorTextMethod">
            <summary>
            Gets or sets the <see cref="T:System.Delegate"/> that provides common text stating what could have possibly 
            caused the <see cref="T:System.Exception"/>.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null.</exception>
            <example>
            Sample text:
            <para>
            An unexpected exception has occurred in RogueApplication. This may be due to an inconsistent system 
            state or a programming error.
            </para>
            </example>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ScopeTextMethod">
            <summary>
            Gets or sets the <see cref="T:System.Delegate"/> that provides text stating what is going to happen as a result 
            of the <see cref="T:System.Exception"/>.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null.</exception>
            <example>
            Sample text:
            <para>The action you requested was not performed.</para>
            </example>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ActionTextMethod">
            <summary>
            Gets or sets the <see cref="T:System.Delegate"/> that provides text stating the action(s) that can be taken by 
            the end-user after an <see cref="T:System.Exception"/> is encountered.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null.</exception>
            <example>
            Sample text:
            <para>Close your browser, navigate back to the website, and try repeating you last action.</para>
            </example>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.MoreInfoTextMethod">
            <summary>
            Gets or sets the <see cref="T:System.Delegate"/> that provides text containing detailed information about the 
            encountered <see cref="T:System.Exception"/>.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null.</exception>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.SuppressInteractiveLogging">
            <summary>
            Gets or sets flag that controls if <see cref="P:GSF.ErrorManagement.ErrorLogger.Loggers"/> requiring interaction either directly or indirectly
            when logging handled <see cref="T:System.Exception"/> using the <see cref="M:GSF.ErrorManagement.ErrorLogger.Log(System.Exception)"/> method are enabled.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ApplicationName">
            <summary>
            Gets the name of the currently executing application.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.ApplicationType">
            <summary>
            Gets the type of the currently executing application.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.LastException">
            <summary>
            Get the last encountered <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.Loggers">
            <summary>
            Gets a list of methods registered for logging information about an encountered <see cref="T:System.Exception"/>.
            </summary>
            <remarks>
            This property can be used to register additional methods for logging information about an encountered
            <see cref="T:System.Exception"/>. When an <see cref="T:System.Exception"/> is logged, all registered methods that take 
            <see cref="T:System.Exception"/> as a parameter are invoked.
            </remarks>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorLogger.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object.
            </summary>
        </member>
        <member name="T:GSF.ErrorManagement.ErrorModule">
            <summary>
            Represents an HTTP module that can be used to handle exceptions globally in Web Sites and Web Services.
            </summary>
            <example>
            Below is the config file entry required for enabling error handling using <see cref="T:GSF.ErrorManagement.ErrorModule"/>:
            <code>
            <![CDATA[
            <configuration>
              <system.web>
                <httpModules>
                  <add name="ErrorModule" type="GSF.ErrorManagement.ErrorModule, GSF.Core" />
                </httpModules>
              </system.web>
            </configuration>
            ]]>
            </code>
            Below is the config file entry required for changing the settings of <see cref="P:GSF.ErrorManagement.ErrorModule.Logger"/>:
            <code>
            <![CDATA[
            <configuration>
              <configSections>
                <section name="categorizedSettings" type="GSF.Configuration.CategorizedSettingsSection, GSF.Core" />
              </configSections>
              <categorizedSettings>
                <errorLogger>
                  <add name="LogToUI" value="False" description="True if an encountered exception is to be logged to the User Interface; otherwise False."
                    encrypted="false" />
                  <add name="LogToFile" value="True" description="True if an encountered exception is to be logged to a file; otherwise False."
                    encrypted="false" />
                  <add name="LogToEmail" value="False" description="True if an email is to be sent to ContactEmail with the details of an encountered exception; otherwise False."
                    encrypted="false" />
                  <add name="LogToEventLog" value="True" description="True if an encountered exception is to be logged to the Event Log; otherwise False."
                    encrypted="false" />
                  <add name="LogToScreenshot" value="False" description="True if a screenshot is to be taken when an exception is encountered; otherwise False."
                    encrypted="false" />
                  <add name="SmtpServer" value="smtp.email.com" description="Name of the SMTP server to be used for sending the email messages."
                    encrypted="false" />
                  <add name="ContactEmail" value="" description="Comma-seperated list of recipient email addresses for the email message."
                    encrypted="false" />
                  <add name="ContactName" value="" description="Name of the person that the end-user can contact when an exception is encountered."
                    encrypted="false" />
                  <add name="ContactPhone" value="" description="Phone number of the person that the end-user can contact when an exception is encountered."
                    encrypted="false" />
                  <add name="HandleUnhandledException" value="True" description="True if unhandled exceptions are to be handled automatically; otherwise False."
                    encrypted="false" />
                  <add name="ExitOnUnhandledException" value="False" description="True if the application must exit when an unhandled exception is encountered; otherwise False."
                    encrypted="false" />
                </errorLogger>
              </categorizedSettings>
            </configuration>
            ]]>
            </code>
            </example>
            <seealso cref="T:GSF.ErrorManagement.ErrorLogger"/>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorModule.Init(System.Web.HttpApplication)">
            <summary>
            Initializes the <see cref="T:GSF.ErrorManagement.ErrorModule"/> and prepares it to handle requests.
            </summary>
            <param name="context">The <see cref="T:System.Web.HttpApplication"/> to use for initialization.</param>
        </member>
        <member name="M:GSF.ErrorManagement.ErrorModule.Dispose">
            <summary>
            Disposes the resources (other than memory) used by the <see cref="T:GSF.ErrorManagement.ErrorModule"/>.
            </summary>
        </member>
        <member name="P:GSF.ErrorManagement.ErrorModule.Logger">
             <summary>
             Gets the <see cref="T:GSF.ErrorManagement.ErrorLogger"/> object used by the <see cref="T:GSF.ErrorManagement.ErrorModule"/> object for logging exceptions.
             </summary>
             <remarks>
             <see cref="P:GSF.ErrorManagement.ErrorModule.Logger"/> property can be used for logging handled exception throughout the web application.
             </remarks>
             <example>
             This example shows the use of <see cref="P:GSF.ErrorManagement.ErrorModule.Logger"/> for logging handled exception:
             <code>
             using System;
             using GSF.ErrorManagement;
            
             namespace WebApp
             {
                 public partial class _Default : System.Web.UI.Page
                 {
                     protected void Page_Load(object sender, EventArgs e)
                     {
                         try
                         {
                             string s = null;
                             s.ToCharArray();            // This will result in NullReferenceException.
                         }
                         catch (Exception ex)
                         {
                             ErrorModule.Logger.Log(ex); // Log the encountered exception.
                         }
                     }
                 }
             }
             </code>
             </example>
        </member>
        <member name="T:GSF.ErrorManagement.NamespaceDoc">
            <summary>
            Contains classes used to simplify and standardize error management for applications.
            </summary>
        </member>
        <member name="T:GSF.ErrorManagement.SmtpTraceListener">
            <summary>
            Represents an e-mail based <see cref="T:System.Diagnostics.TraceListener"/>.
            </summary>
            <example>
            Below is the config file entry required for enabling e-mail based tracing using <see cref="T:GSF.ErrorManagement.SmtpTraceListener"/>:
            <code>
            <![CDATA[
            <configuration>
              <system.diagnostics>
                <trace>
                  <listeners>
                    <add name="SmtpTraceListener" type="GSF.ErrorManagement.SmtpTraceListener,GSF.Core" initializeData="sender@email.com,recipient@email.com,smtp.email.com"/>
                  </listeners>
                </trace>
              </system.diagnostics>
            </configuration>
            ]]>
            </code>
            </example>
        </member>
        <member name="M:GSF.ErrorManagement.SmtpTraceListener.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ErrorManagement.SmtpTraceListener"/> class.
            </summary>
        </member>
        <member name="M:GSF.ErrorManagement.SmtpTraceListener.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ErrorManagement.SmtpTraceListener"/> class.
            </summary>
            <param name="initializationData">Initialization text in the format of "sender@email.com,recipient@email.com,smtp.email.com".</param>
        </member>
        <member name="M:GSF.ErrorManagement.SmtpTraceListener.Write(System.String)">
            <summary>
            Sends an e-mail message containing the specified message.
            </summary>
            <param name="message">The message to be sent in the e-mail message.</param>
        </member>
        <member name="M:GSF.ErrorManagement.SmtpTraceListener.WriteLine(System.String)">
            <summary>
            Sends an e-mail message containing the specified message.
            </summary>
            <param name="message">The message to be sent in the e-mail message.</param>
        </member>
        <member name="T:GSF.EventArgs`1">
            <summary>
            Represents a generic event arguments class with one data argument.
            </summary>
            <typeparam name="T">Type of data argument for this event arguments instance.</typeparam>
        </member>
        <member name="F:GSF.EventArgs`1.Argument">
            <summary>
            Gets or sets the data argument for the event using <see cref="T:GSF.EventArgs`1"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`1"/> class.
            </summary>
            <param name="argument">The argument data for the event.</param>
        </member>
        <member name="T:GSF.EventArgs`2">
            <summary>
            Represents a generic event arguments class with two data arguments.
            </summary>
            <typeparam name="T1">The type of the first data argument for this event arguments instance.</typeparam>
            <typeparam name="T2">The type of the second data argument for this event arguments instance.</typeparam>
        </member>
        <member name="F:GSF.EventArgs`2.Argument1">
            <summary>
            Gets or sets the first data argument for the event using <see cref="T:GSF.EventArgs`2"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`2.Argument2">
            <summary>
            Gets or sets the second data argument for the event using <see cref="T:GSF.EventArgs`2"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`2"/> class.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`2"/> class.
            </summary>
            <param name="argument1">The first data argument for the event.</param>
            <param name="argument2">The second data argument for the event.</param>
        </member>
        <member name="T:GSF.EventArgs`3">
            <summary>
            Represents a generic event arguments class with three data arguments.
            </summary>
            <typeparam name="T1">The type of the first data argument for this event arguments instance.</typeparam>
            <typeparam name="T2">The type of the second data argument for this event arguments instance.</typeparam>
            <typeparam name="T3">The type of the third data argument for this event arguments instance.</typeparam>
        </member>
        <member name="F:GSF.EventArgs`3.Argument1">
            <summary>
            Gets or sets the first data argument for the event using <see cref="T:GSF.EventArgs`3"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`3.Argument2">
            <summary>
            Gets or sets the second data argument for the event using <see cref="T:GSF.EventArgs`3"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`3.Argument3">
            <summary>
            Gets or sets the third data argument for the event using <see cref="T:GSF.EventArgs`3"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`3.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`3"/> class.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`3.#ctor(`0,`1,`2)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`3"/> class.
            </summary>
            <param name="argument1">The first data argument for the event.</param>
            <param name="argument2">The second data argument for the event.</param>
            <param name="argument3">The third data argument for the event.</param>
        </member>
        <member name="T:GSF.EventArgs`4">
            <summary>
            Represents a generic event arguments class with three data arguments.
            </summary>
            <typeparam name="T1">The type of the first data argument for this event arguments instance.</typeparam>
            <typeparam name="T2">The type of the second data argument for this event arguments instance.</typeparam>
            <typeparam name="T3">The type of the third data argument for this event arguments instance.</typeparam>
            <typeparam name="T4">The type of the fourth data argument for this event arguments instance.</typeparam>
        </member>
        <member name="F:GSF.EventArgs`4.Argument1">
            <summary>
            Gets or sets the first data argument for the event using <see cref="T:GSF.EventArgs`4"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`4.Argument2">
            <summary>
            Gets or sets the second data argument for the event using <see cref="T:GSF.EventArgs`4"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`4.Argument3">
            <summary>
            Gets or sets the third data argument for the event using <see cref="T:GSF.EventArgs`4"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="F:GSF.EventArgs`4.Argument4">
            <summary>
            Gets or sets the fourth data argument for the event using <see cref="T:GSF.EventArgs`4"/> for its <see cref="T:System.EventArgs"/>.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`4.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`4"/> class.
            </summary>
        </member>
        <member name="M:GSF.EventArgs`4.#ctor(`0,`1,`2,`3)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.EventArgs`3"/> class.
            </summary>
            <param name="argument1">The first data argument for the event.</param>
            <param name="argument2">The second data argument for the event.</param>
            <param name="argument3">The third data argument for the event.</param>
            <param name="argument4">The fourth data argument for the event.</param>
        </member>
        <member name="T:GSF.FastObjectFactory`1">
            <summary>
            Quickly creates new objects based on specified type.
            </summary>
            <typeparam name="T">Type of object to create quickly.</typeparam>
            <remarks>
            You can use the alternate <see cref="T:GSF.FastObjectFactory"/> implementation if you only have the <see cref="T:System.Type"/> of
            an object available (such as when you are using reflection).
            </remarks>
        </member>
        <member name="P:GSF.FastObjectFactory`1.CreateObjectFunction">
            <summary>
            Gets delegate that quickly creates new instance of the specified type.
            </summary>
        </member>
        <member name="T:GSF.FastObjectFactory">
            <summary>
            Quickly creates new objects based on specified type.
            </summary>
            <remarks>
            <see cref="T:GSF.FastObjectFactory"/> should be used when you only have the <see cref="T:System.Type"/> of an object available (such as when you are
            using reflection), otherwise you should use the generic <see cref="T:GSF.FastObjectFactory`1"/>.
            </remarks>
        </member>
        <member name="M:GSF.FastObjectFactory.GetCreateObjectFunction(System.Type)">
            <summary>
            Gets delegate that creates new instance of the <paramref name="type"/>.
            </summary>
            <param name="type">Type of object to create quickly.</param>
            <returns>Delegate to use to quickly create new objects.</returns>
            <exception cref="T:System.InvalidOperationException"><paramref name="type"/> does not support parameterless public constructor.</exception>
        </member>
        <member name="M:GSF.FastObjectFactory.GetCreateObjectFunction``1(System.Type)">
            <summary>
            Gets delegate of specified return type that creates new instance of the <paramref name="type"/>.
            </summary>
            <param name="type">Type of object to create quickly.</param>
            <typeparam name="T">Type of returned object function used to create objects quickly.</typeparam>
            <returns>Delegate to use to quickly create new objects.</returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="type"/> does not support parameterless public constructor -or- 
            <paramref name="type"/> is not a subclass or interface implementation of function type definition.
            </exception>
            <remarks>
            This function will validate that <typeparamref name="T"/> is related to <paramref name="type"/>.
            </remarks>
        </member>
        <member name="T:GSF.FuzzyStrings.FuzzyStringComparisonTolerance">
            <summary>
            Fuzzy string comparison tolerances.
            </summary>
        </member>
        <member name="F:GSF.FuzzyStrings.FuzzyStringComparisonTolerance.Strong">
            <summary>
            Strong comparison tolerance.
            </summary>
        </member>
        <member name="F:GSF.FuzzyStrings.FuzzyStringComparisonTolerance.Normal">
            <summary>
            Normal comparison tolerance.
            </summary>
        </member>
        <member name="F:GSF.FuzzyStrings.FuzzyStringComparisonTolerance.Weak">
            <summary>
            Weak comparison tolerance.
            </summary>
        </member>
        <member name="F:GSF.FuzzyStrings.FuzzyStringComparisonTolerance.Manual">
            <summary>
            Manual comparison tolerance.
            </summary>
        </member>
        <member name="T:GSF.NumericalAnalysis.GaussianDistribution">
            <summary>
            Implements a BoxMuller method for generating statistically normal random numbers.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.GaussianDistribution.#ctor(System.Double,System.Double,System.Double,System.Double)">
            <summary>
            Creates a <see cref="T:GSF.NumericalAnalysis.GaussianDistribution"/>
            </summary>
            <param name="mean">the mean of the distribution</param>
            <param name="standardDeviation">the standard deviation</param>
            <param name="min">a clipping boundary</param>
            <param name="max">a clipping boundary</param>
        </member>
        <member name="M:GSF.NumericalAnalysis.GaussianDistribution.Next">
            <summary>
            Gets the next random value.
            </summary>
            <returns></returns>
        </member>
        <member name="T:GSF.GuidExtensions">
            <summary>
            Extension methods for <see cref="T:System.Guid"/>.
            </summary>
        </member>
        <member name="M:GSF.GuidExtensions.ToRfcBytes(System.Guid,System.Byte[],System.Int32)">
            <summary>
            Encodes a <see cref="T:System.Guid"/> following RFC 4122.
            </summary>
            <param name="guid">The <see cref="T:System.Guid"/> to serialize.</param>
            <param name="buffer">Destination buffer to hold serialized <paramref name="guid"/>.</param>
            <param name="startingIndex">Starting index in <paramref name="buffer"/>.</param>
        </member>
        <member name="M:GSF.GuidExtensions.ToRfcBytes(System.Guid)">
            <summary>
            Encodes a <see cref="T:System.Guid"/> following RFC 4122.
            </summary>
            <param name="guid"><see cref="T:System.Guid"/> to serialize.</param>
            <returns>A <see cref="T:System.Byte"/> array that represents a big-endian encoded <see cref="T:System.Guid"/>.</returns>
        </member>
        <member name="M:GSF.GuidExtensions.ToRfcGuid(System.Byte[])">
            <summary>
            Decodes a <see cref="T:System.Guid"/> following RFC 4122
            </summary>
            <param name="buffer">Buffer containing a serialized big-endian encoded <see cref="T:System.Guid"/>.</param>
            <returns><see cref="T:System.Guid"/> deserialized from <paramref name="buffer"/>.</returns>
        </member>
        <member name="M:GSF.GuidExtensions.ToRfcGuid(System.Byte[],System.Int32)">
            <summary>
            Decodes a <see cref="T:System.Guid"/> following RFC 4122
            </summary>
            <param name="buffer">Buffer containing a serialized big-endian encoded <see cref="T:System.Guid"/>.</param>
            <param name="startingIndex">Starting index in <paramref name="buffer"/>.</param>
            <returns><see cref="T:System.Guid"/> deserialized from <paramref name="buffer"/>.</returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToBigEndianOrderBytes(System.Guid)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="guid">the <see cref="T:System.Guid"/> to serialize</param>
            <returns>A <see cref="T:System.Byte"/>[] that represents a big endian encoded Guid.</returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToBigEndianOrderBytes(System.Guid,System.Byte[],System.Int32)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="guid">the <see cref="T:System.Guid"/> to serialize</param>
            <param name="buffer">where to store the <paramref name="guid"/></param>
            <param name="startingIndex">the starting index in <paramref name="buffer"/></param>
        </member>
        <member name="M:GSF.GuidExtensions.__ToBigEndianOrderGuid(System.Byte[])">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="buffer">where to read the <see cref="T:System.Guid"/>.</param>
            <returns></returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToBigEndianOrderGuid(System.Byte[],System.Int32)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="buffer">where to read the <see cref="T:System.Guid"/>.</param>
            <param name="startingIndex">the starting index in <paramref name="buffer"/></param>
            <returns></returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToLittleEndianOrderBytes(System.Guid)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="guid">the <see cref="T:System.Guid"/> to serialize</param>
            <returns>A <see cref="T:System.Byte"/>[] that represents a big endian encoded Guid.</returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToLittleEndianOrderBytes(System.Guid,System.Byte[],System.Int32)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="guid">the <see cref="T:System.Guid"/> to serialize</param>
            <param name="buffer">where to store the <paramref name="guid"/></param>
            <param name="startingIndex">the starting index in <paramref name="buffer"/></param>
        </member>
        <member name="M:GSF.GuidExtensions.__ToLittleEndianOrderGuid(System.Byte[])">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="buffer">where to read the <see cref="T:System.Guid"/>.</param>
            <returns></returns>
        </member>
        <member name="M:GSF.GuidExtensions.__ToLittleEndianOrderGuid(System.Byte[],System.Int32)">
            <summary>
            Mimicks the encoding that was present in BigEndianOrder. 
            </summary>
            <param name="buffer">where to read the <see cref="T:System.Guid"/>.</param>
            <param name="startingIndex">the starting index in <paramref name="buffer"/></param>
            <returns></returns>
        </member>
        <member name="T:GSF.IdentifiableItem`2">
            <summary>
            Represents an identifiable item.
            </summary>
            <typeparam name="TId">Type of the identifier to be used for identification.</typeparam>
            <typeparam name="TItem">Type of the item that is to be made identifiable.</typeparam>
        </member>
        <member name="F:GSF.IdentifiableItem`2.ID">
            <summary>
            Defines the identifier of the <see cref="F:GSF.IdentifiableItem`2.Item"/>.
            </summary>
        </member>
        <member name="F:GSF.IdentifiableItem`2.Item">
            <summary>
            Defines the buffer being made identifiable by its associated <see cref="F:GSF.IdentifiableItem`2.ID"/>.
            </summary>
        </member>
        <member name="M:GSF.IdentifiableItem`2.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IdentifiableItem`2"/> class.
            </summary>
        </member>
        <member name="M:GSF.IdentifiableItem`2.#ctor(`0,`1)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IdentifiableItem`2"/> class.
            </summary>
            <param name="id">The identifier of the <paramref name="item"/>.</param>
            <param name="item">The item being associated with the <paramref name="id"/> to make it identifiable.</param>
        </member>
        <member name="T:GSF.Identity.NamespaceDoc">
            <summary>
            Contains classes used to simplify and standardize access to information about a domain user retrieved from Active Directory.
            </summary>
        </member>
        <member name="T:GSF.Identity.UserInfo">
             <summary>
             Represents information about a domain user retrieved from Active Directory.
             </summary>
             <remarks>
             See <a href="http://msdn.microsoft.com/en-us/library/ms677980.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/ms677980.aspx</a> for more information on active directory properties.
             </remarks>
             <example>
             This example shows how to retrieve user information from Active Directory:
             <code>
             using System;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Retrieve and display user information from Active Directory.
                     using (UserInfo user = new UserInfo("XYZCorp\\johndoe"))
                     {
                         Console.WriteLine(string.Format("First Name: {0}", user.FirstName));
                         Console.WriteLine(string.Format("Last Name: {0}", user.LastName));
                         Console.WriteLine(string.Format("Middle Initial: {0}", user.MiddleInitial));
                         Console.WriteLine(string.Format("Email Address: {0}", user.Email));
                         Console.WriteLine(string.Format("Telephone Number: {0}", user.Telephone));
                     }
            
                     Console.ReadLine();
                 }
             }
             </code>
             This example shows the config file section that can be used to specify the domain account to be used for Active Directory queries:
             <code>
             <![CDATA[
             <?xml version="1.0"?>
             <configuration>
               <configSections>
                 <section name="categorizedSettings" type="GSF.Configuration.CategorizedSettingsSection, GSF.Core" />
               </configSections>
               <categorizedSettings>
                 <activeDirectory>
                   <add name="PrivilegedDomain" value="" description="Domain of privileged domain user account."
                     encrypted="false" />
                   <add name="PrivilegedUserName" value="" description="Username of privileged domain user account."
                     encrypted="false" />
                   <add name="PrivilegedPassword" value="" description="Password of privileged domain user account."
                     encrypted="true" />
                 </activeDirectory>
               </categorizedSettings>
             </configuration>
             ]]>
             </code>
             <para>
             Some methods in this class may not behave as expected when running on under Mono deployments.
             </para>
             </example>
        </member>
        <member name="F:GSF.Identity.UserInfo.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Identity.UserInfo.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.Identity.UserInfo.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Identity.UserInfo.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="M:GSF.Identity.UserInfo.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Identity.UserInfo"/> class.
            </summary>
            <param name="loginID">
            Login ID in 'domain\username' format of the user's account whose information is to be retrieved. Login ID 
            can also be specified in 'username' format without the domain name, in which case the domain name will be
            approximated based on the privileged user domain if specified, default logon domain of the host machine 
            if available, or the domain of the identity that owns the host process.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="loginID"/> is a null or empty string.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Identity.UserInfo"/> class.
            </summary>
            <param name="loginID">
            Login ID in 'domain\username' format of the user's account whose information is to be retrieved. Login ID 
            can also be specified in 'username' format without the domain name, in which case the domain name will be
            approximated based on the privileged user domain if specified, default logon domain of the host machine 
            if available, or the domain of the identity that owns the host process.
            </param>
            <param name="ldapPath">
            String in 'LDAP://' format that specifies the Active Directory node where search for the user starts.
            </param>
            <exception cref="T:System.ArgumentNullException"><paramref name="loginID"/> is a null or empty string.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Identity.UserInfo"/> class.
            </summary>
        </member>
        <member name="M:GSF.Identity.UserInfo.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Identity.UserInfo"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Identity.UserInfo.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Identity.UserInfo"/> object.
            </summary>
        </member>
        <member name="M:GSF.Identity.UserInfo.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Identity.UserInfo"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Identity.UserInfo.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.Identity.UserInfo"/> object.
            </summary>
            <exception cref="T:GSF.InitializationException">Failed to initialize directory entry for <see cref="P:GSF.Identity.UserInfo.LoginID"/>.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.SaveSettings">
            <summary>
            Saves settings for the <see cref="T:GSF.Identity.UserInfo"/> object to the config file if the <see cref="P:GSF.Identity.UserInfo.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Identity.UserInfo.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.LoadSettings">
            <summary>
            Loads saved settings for the <see cref="T:GSF.Identity.UserInfo"/> object from the config file if the <see cref="P:GSF.Identity.UserInfo.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Identity.UserInfo.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.DefinePrivilegedAccount(System.String,System.String,System.String)">
             <summary>
             Defines the credentials of a privileged domain account that can be used for impersonation prior to the 
             retrieval of user information from the Active Directory.
             </summary>
             <param name="domain">Domain of privileged domain user account.</param>
             <param name="username">Username of privileged domain user account.</param>
             <param name="password">Password of privileged domain user account.</param>
             <example>
             This example shows how to define the identity of the user to be used for retrieving information from Active Directory:
             <code>
             using System;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     using (UserInfo user = new UserInfo("XYZCorp\\johndoe"))
                     {
                         // Define the identity to use for retrieving Active Directory information.
                         // Persist identity credentials encrypted to the config for easy access.
                         user.PersistSettings = true;
                         user.DefinePrivilegedAccount("XYZCorp", "admin", "Passw0rd");
            
                         // Retrieve and display user information from Active Directory.
                         Console.WriteLine(string.Format("First Name: {0}", user.FirstName));
                         Console.WriteLine(string.Format("Last Name: {0}", user.LastName));
                         Console.WriteLine(string.Format("Middle Initial: {0}", user.MiddleInitial));
                         Console.WriteLine(string.Format("Email Address: {0}", user.Email));
                         Console.WriteLine(string.Format("Telephone Number: {0}", user.Telephone));
                     }
            
                     Console.ReadLine();
                 }
             }
             </code>
            </example>
        </member>
        <member name="M:GSF.Identity.UserInfo.ImpersonatePrivilegedAccount">
            <summary>
            Impersonates the defined privileged domain account.
            </summary>
            <returns>An <see cref="T:System.Security.Principal.WindowsImpersonationContext"/> if privileged domain account has been defined, otherwise null.</returns>
            <remarks>
            This method always returns <c>null</c> under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.GetUserPropertyValue(System.String)">
            <summary>
            Returns the value for specified active directory property.
            </summary>
            <param name="propertyName">Name of the active directory property whose value is to be retrieved.</param>
            <returns><see cref="T:System.DirectoryServices.PropertyValueCollection"/> for the specified active directory property.</returns>
        </member>
        <member name="M:GSF.Identity.UserInfo.GetUserPropertyValueAsString(System.String)">
            <summary>
            Returns the value for specified active directory property.
            </summary>
            <param name="propertyName">Name of the active directory property whose value is to be retrieved.</param>
            <returns><see cref="T:System.String"/> value for the specified active directory property.</returns>
        </member>
        <member name="M:GSF.Identity.UserInfo.GetBuiltInLocalGroups">
            <summary>
            Returns a sorted list of the BUILTIN local groups.
            </summary>
            <returns>Sorted list of the BUILTIN local groups.</returns>
            <remarks>
            <para>
            Names in this list do not have a "BUILTIN\" prefix.
            </para>
            <para>
            This method always returns an empty string array (i.e., a string array with no elements) under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.AuthenticateUser(System.String,System.String,System.String)">
             <summary>
             Authenticates the specified user credentials.
             </summary>
             <param name="domain">Domain of user to authenticate.</param>
             <param name="username">Username of user to authenticate.</param>
             <param name="password">Password of user to authenticate.</param>
             <returns>true if the user credentials are authenticated successfully; otherwise false.</returns>
             <remarks>
             This method always returns <c>null</c> under Mono deployments.
             </remarks>
             <example>
             This example shows how to validate a user's credentials:
             <code>
             using System;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     string domain = "XYZCorp";
                     string username = "johndoe";
                     string password = "password";
                    
                     // Authenticate user credentials.
                     if ((object)UserInfo.AuthenticateUser(domain, username, password) != null)
                         Console.WriteLine("Successfully authenticated user \"{0}\\{1}\".", domain, username);
                     else
                         Console.WriteLine("Failed to authenticate user \"{0}\\{1}\".", domain, username);
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Identity.UserInfo.AuthenticateUser(System.String,System.String,System.String,System.String@)">
             <summary>
             Authenticates the specified user credentials.
             </summary>
             <param name="domain">Domain of user to authenticate.</param>
             <param name="username">Username of user to authenticate.</param>
             <param name="password">Password of user to authenticate.</param>
             <param name="errorMessage">Error message returned, if authentication fails.</param>
             <returns>true if the user credentials are authenticated successfully; otherwise false.</returns>
             <remarks>
             This method always returns <c>null</c> under Mono deployments.
             </remarks>
             <example>
             This example shows how to validate a user's credentials and retrieve an error message if validation fails: 
             <code>
             using System;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     string domain = "XYZCorp";
                     string username = "johndoe";
                     string password = "password";
                     string errorMessage;
            
                     // Authenticate user credentials.
                     if ((object)UserInfo.AuthenticateUser(domain, username, password, out errorMessage) != null)
                         Console.WriteLine("Successfully authenticated user \"{0}\\{1}\".", domain, username);
                     else
                         Console.WriteLine("Failed to authenticate user \"{0}\\{1}\" due to exception: {2}", domain, username, errorMessage);
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Identity.UserInfo.ImpersonateUser(System.String,System.String,System.String)">
             <summary>
             Impersonates the specified user.
             </summary>
             <param name="domain">Domain of user to impersonate.</param>
             <param name="username">Username of user to impersonate.</param>
             <param name="password">Password of user to impersonate.</param>
             <returns>A <see cref="T:System.Security.Principal.WindowsImpersonationContext"/> object of the impersonated user.</returns>
             <remarks>
             <para>
             After impersonating a user the code executes under the impersonated user's identity.
             </para>
             <para>
             This method always returns <c>null</c> under Mono deployments.
             </para>
             </remarks>
             <example>
             This example shows how to impersonate a user:
             <code>
             using System;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     Console.WriteLine(string.Format("User before impersonation: {0}", UserInfo.CurrentUserID));
                     UserInfo.ImpersonateUser("XYZCorp", "johndoe", "password"); // Impersonate user.
                     Console.WriteLine(string.Format("User after impersonation: {0}", UserInfo.CurrentUserID));
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Identity.UserInfo.EndImpersonation(System.Security.Principal.WindowsImpersonationContext)">
             <summary>
             Ends the impersonation of the specified user.
             </summary>
             <param name="impersonatedUser"><see cref="T:System.Security.Principal.WindowsImpersonationContext"/> of the impersonated user.</param>
             <example>
             This example shows how to terminate an active user impersonation:
             <code>
             using System;
             using System.IO;
             using System.Security.Principal;
             using GSF.Identity;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     // Impersonate user.
                     WindowsImpersonationContext context = UserInfo.ImpersonateUser("XYZCorp", "johndoe", "password");
                     // Perform operation requiring elevated privileges.
                     Console.WriteLine(File.ReadAllText(@"\\server\share\file.xml"));
                     // End the impersonation.
                     UserInfo.EndImpersonation(context);
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="M:GSF.Identity.UserInfo.LocalUserExists(System.String)">
            <summary>
            Determines if local user exists.
            </summary>
            <param name="userName">User name to test for existence.</param>
            <returns><c>true</c> if <paramref name="userName"/> exists; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="userName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="userName"/> was specified.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.CreateLocalUser(System.String,System.String,System.String)">
            <summary>
            Creates a new local user if it does not exist already.
            </summary>
            <param name="userName">User name to create if it doesn't exist.</param>
            <param name="password">Password to user for new user.</param>
            <param name="userDescription">Optional user description.</param>
            <returns><c>true</c> if user was created; otherwise, <c>false</c> if user already existed.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="userName"/> or <paramref name="password"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="userName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not create local user.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.SetLocalUserPassword(System.String,System.String)">
            <summary>
            Sets local user's password.
            </summary>
            <param name="userName">User name to change password for.</param>
            <param name="password">New password fro user.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="userName"/> or <paramref name="password"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="userName"/> was specified or user does not exist.</exception>
            <exception cref="T:System.InvalidOperationException">Could not change password for local user.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.RemoveLocalUser(System.String)">
            <summary>
            Removes local user if it exists.
            </summary>
            <param name="userName">User name to remove if it exists.</param>
            <returns><c>true</c> if user was removed; otherwise, <c>false</c> if user did not exist.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="userName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="userName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not remove local user.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.LocalGroupExists(System.String)">
            <summary>
            Determines if local group exists.
            </summary>
            <param name="groupName">Group name to test for existence.</param>
            <returns><c>true</c> if <paramref name="groupName"/> exists; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> was specified.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.CreateLocalGroup(System.String,System.String)">
            <summary>
            Creates a new local group if it does not exist already.
            </summary>
            <param name="groupName">Group name to create if it doesn't exist.</param>
            <param name="groupDescription">Optional group description.</param>
            <returns><c>true</c> if group was created; otherwise, <c>false</c> if group already existed.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not create local group.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.RemoveLocalGroup(System.String)">
            <summary>
            Removes local group if it exists.
            </summary>
            <param name="groupName">Group name to remove if it exists.</param>
            <returns><c>true</c> if group was removed; otherwise, <c>false</c> if group did not exist.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not remove local group.</exception>
        </member>
        <member name="M:GSF.Identity.UserInfo.UserIsInLocalGroup(System.String,System.String)">
            <summary>
            Determines if user is in the specified local <paramref name="groupName"/>.
            </summary>
            <param name="groupName">Group name to test.</param>
            <param name="userName">User name to test.</param>
            <returns><c>true</c> if user is in group; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> or <paramref name="userName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> or <paramref name="userName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not determine if user was in local group.</exception>
            <remarks>
            This function will handle Windows service virtual accounts by specifying the complete virtual account name,
            such as <c>@"NT SERVICE\MyService"</c>, as the <paramref name="userName"/>. This function can also detect
            Active Directory user accounts and groups that may exist in the local group when the <paramref name="userName"/>
            is prefixed with a domain name and a backslash "\".
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.AddUserToLocalGroup(System.String,System.String)">
            <summary>
            Adds an existing user to the specified local <paramref name="groupName"/>.
            </summary>
            <param name="groupName">Group name to add local user to.</param>
            <param name="userName">Existing local user name.</param>
            <returns><c>true</c> if user was added to local group; otherwise, <c>false</c> meaning user was already in group.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> or <paramref name="userName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> or <paramref name="userName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not add user to local group.</exception>
            <remarks>
            This function will handle Windows service virtual accounts by specifying the complete virtual account name,
            such as <c>@"NT SERVICE\MyService"</c>, as the <paramref name="userName"/>. This function can also add
            Active Directory user accounts and groups to the local group the when the <paramref name="userName"/> is
            prefixed with a domain name and a backslash "\".
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.RemoveUserFromLocalGroup(System.String,System.String)">
            <summary>
            Removes an existing user from the specified local <paramref name="groupName"/>.
            </summary>
            <param name="groupName">Group name to remove local user from.</param>
            <param name="userName">Existing local user name.</param>
            <returns><c>true</c> if user was removed from local group; otherwise, <c>false</c> meaning user did not exist in group.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="groupName"/> or <paramref name="userName"/> was <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">No <paramref name="groupName"/> or <paramref name="userName"/> was specified.</exception>
            <exception cref="T:System.InvalidOperationException">Could not remove user from local group.</exception>
            <remarks>
            This function will handle Windows service virtual accounts by specifying the complete virtual account name,
            such as <c>@"NT SERVICE\MyService"</c>, as the <paramref name="userName"/>. This function can also remove
            Active Directory user accounts and groups from the local group the when the <paramref name="userName"/> is
            prefixed with a domain name and a backslash "\".
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.AccountNameToSID(System.String)">
            <summary>
            Converts the given account name to the SID corresponding to that account name.
            </summary>
            <param name="accountName">The account name for which to look up the SID.</param>
            <returns>The SID for the given account name, or the account name if no SID can be found.</returns>
            <remarks>
            If the <paramref name="accountName"/> cannot be converted to a SID, <paramref name="accountName"/>
            will be the return value.
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.SIDToAccountName(System.String)">
            <summary>
            Converts the given SID to the corresponding account name.
            </summary>
            <param name="sid">The SID for which to look up the account name.</param>
            <returns>The account name for the given SID, or the SID if no account name can be found.</returns>
            <remarks>
            If the <paramref name="sid"/> cannot be converted to an account name, <paramref name="sid"/>
            will be the return value.
            </remarks>
        </member>
        <member name="M:GSF.Identity.UserInfo.IsUserSID(System.String)">
            <summary>
            Determines whether the given security identifier identifies a user account.
            </summary>
            <param name="sid">The security identifier.</param>
            <returns>True if the security identifier identifies a user account; false otherwise.</returns>
        </member>
        <member name="M:GSF.Identity.UserInfo.IsGroupSID(System.String)">
            <summary>
            Determines whether the given security identifier identifies a group.
            </summary>
            <param name="sid">The security identifier.</param>
            <returns>True if the security identifier identifies a group; false otherwise.</returns>
        </member>
        <member name="E:GSF.Identity.UserInfo.Disposed">
            <summary>
            Occurs when the class has been disposed.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the settings of <see cref="T:GSF.Identity.UserInfo"/> object are 
            to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.SettingsCategory">
            <summary>
            Gets or sets the category under which the settings of <see cref="T:GSF.Identity.UserInfo"/> object are to be saved
            to the config file if the <see cref="P:GSF.Identity.UserInfo.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.Identity.UserInfo.LoginID">
            <summary>
            Gets the Login ID of the user.
            </summary>
            <remarks>Returns the value provided in the <see cref="M:GSF.Identity.UserInfo.#ctor(System.String)"/> constructor.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.DomainAvailable">
            <summary>
            Gets flag that determines if user domain is available.
            </summary>
            <returns><c>true</c> if domain responds to <see cref="M:GSF.Identity.UserInfo.Initialize"/>; otherwise <c>false</c>.</returns>
        </member>
        <member name="P:GSF.Identity.UserInfo.Exists">
            <summary>
            Gets flag that determines if user exists.
            </summary>
            <returns><c>true</c> if user is found to exist; otherwise <c>false</c>.</returns>
            <remarks>
            <para>
            Unlike other properties in this class, <see cref="P:GSF.Identity.UserInfo.Exists"/> will still work even if the domain server is
            unavailable. Calling this property without access to a domain server will return <c>true</c> if the user
            is authenticated. This only succeeds if the current user is the same as the <see cref="P:GSF.Identity.UserInfo.LoginID"/>, there
            is no way to determine if a user other than the currently authenticated user exists without access to
            the domain server. Local accounts are not subject to these constraints since the domain server will
            effectively be your local computer which is always accessible.
            </para>
            <para>
            Since this property can check the <see cref="T:System.Security.Principal.WindowsPrincipal"/> to determine if the current thread identity
            is authenticated, it is important that consumers add the following code at application startup:
            <code>AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);</code>
            </para>
            <para>
            If a laptop user that's normally connected to the domain takes their computer on the road without VPN or other
            connectivity to the domain, the user can still login to the laptop using cached credentials therefore they are
            still considered to exist. Without access to the domain, no user information will be available (such as the
            <see cref="P:GSF.Identity.UserInfo.Groups"/> listing) - if this data is needed offline it will need to be cached by the application in
            anticipation of offline access.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.LastLogon">
            <summary>
            Gets the last login time of the user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.AccountCreationDate">
            <summary>
            Gets the <see cref="T:System.DateTime"/> when the account was created.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.NextPasswordChangeDate">
            <summary>
            Gets the <see cref="T:System.DateTime"/>, in UTC, of next password change for the user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.UserAccountControl">
            <summary>
            Gets the account control information of the user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.AccountIsLockedOut">
            <summary>
            Gets flag that determines if account is locked-out for this user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.AccountIsDisabled">
            <summary>
            Gets flag that determines if account is disabled for this user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.PasswordCannotChange">
            <summary>
            Gets flag that determines if account password cannot change for this user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.PasswordDoesNotExpire">
            <summary>
            Gets flag that determines if account password does not expire for this user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.MaximumPasswordAge">
            <summary>
            Gets this maximum password age for the user.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.Groups">
            <summary>
            Gets all the groups associated with the user - this includes local groups and Active Directory groups if applicable.
            </summary>
            <remarks>
            <para>
            Groups names are prefixed with their associated domain, computer name or BUILTIN.
            </para>
            <para>
            This method always returns an empty string array (i.e., a string array with no elements) under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.LocalGroups">
            <summary>
            Gets the local groups the user is a member of.
            </summary>
            <remarks>
            <para>
            Groups names are prefixed with BUILTIN or computer name.
            </para>
            <para>
            This method always returns an empty string array (i.e., a string array with no elements) under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.FirstName">
            <summary>
            Gets the First Name of the user.
            </summary>
            <remarks>Returns the value retrieved for the "givenName" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.LastName">
            <summary>
            Gets the Last Name of the user.
            </summary>
            <remarks>Returns the value retrieved for the "sn" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.DisplayName">
            <summary>
            Gets the Display Name the user.
            </summary>
            <remarks>Returns the value retrieved for the "displayName" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.MiddleInitial">
            <summary>
            Gets the Middle Initial of the user.
            </summary>
            <remarks>Returns the value retrieved for the "initials" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.FullName">
            <summary>
            Gets the Full Name of the user.
            </summary>
            <remarks>Returns the concatenation of <see cref="P:GSF.Identity.UserInfo.FirstName"/>, <see cref="P:GSF.Identity.UserInfo.MiddleInitial"/> and <see cref="P:GSF.Identity.UserInfo.LastName"/> properties.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Email">
            <summary>
            Gets the E-Mail address of the user.
            </summary>
            <remarks>Returns the value retrieved for the "mail" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Webpage">
            <summary>
            Gets the web page address of the user.
            </summary>
            <remarks>Returns the value retrieved for the "wWWHomePage" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Description">
            <summary>
            Gets the description specified for the user.
            </summary>
            <remarks>Returns the value retrieved for the "description" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Telephone">
            <summary>
            Gets the Telephone Number of the user.
            </summary>
            <remarks>Returns the value retrieved for the "telephoneNumber" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Title">
            <summary>
            Gets the Title of the user.
            </summary>
            <remarks>Returns the value retrieved for the "title" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Company">
            <summary>
            Gets the Company of the user.
            </summary>
            <remarks>Returns the value retrieved for the "company" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Office">
            <summary>
            Gets the Office location of the user.
            </summary>
            <remarks>Returns the value retrieved for the "physicalDeliveryOfficeName" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Department">
            <summary>
            Gets the Department where the user works.
            </summary>
            <remarks>Returns the value retrieved for the "department" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.City">
            <summary>
            Gets the City where the user works.
            </summary>
            <remarks>Returns the value retrieved for the "l" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.Mailbox">
            <summary>
            Gets the Mailbox address of where the user works.
            </summary>
            <remarks>Returns the value retrieved for the "streetAddress" active directory property.</remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.UserEntry">
            <summary>
            Gets the <see cref="T:System.DirectoryServices.DirectoryEntry"/> object used for retrieving user information.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.IsWinNTEntry">
            <summary>
            Gets flag that determines if this <see cref="T:GSF.Identity.UserInfo"/> instance is based on a local WinNT account instead of found through LDAP.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.CurrentUserID">
            <summary>
            Gets the <see cref="P:GSF.Identity.UserInfo.LoginID"/> of the current user.
            </summary>
            <remarks>
            The <see cref="P:GSF.Identity.UserInfo.LoginID"/> returned is that of the user account under which the code is executing.
            </remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.CurrentUserInfo">
            <summary>
            Gets the <see cref="T:GSF.Identity.UserInfo"/> object for the <see cref="P:GSF.Identity.UserInfo.CurrentUserID"/>.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.RemoteUserID">
            <summary>
            Gets the <see cref="P:GSF.Identity.UserInfo.LoginID"/> of the remote web user.
            </summary>
            <remarks>
            The <see cref="P:GSF.Identity.UserInfo.LoginID"/> returned is that of the remote user accessing the web application. This is 
            available only if the virtual directory hosting the web application is configured to use "Integrated 
            Windows Authentication".
            </remarks>
        </member>
        <member name="P:GSF.Identity.UserInfo.RemoteUserInfo">
            <summary>
            Gets the <see cref="T:GSF.Identity.UserInfo"/> object for the <see cref="P:GSF.Identity.UserInfo.RemoteUserID"/>.
            </summary>
        </member>
        <member name="P:GSF.Identity.UserInfo.MachineIsJoinedToDomain">
            <summary>
            Gets a boolean value that indicates whether the current machine is joined to a domain.
            </summary>
            <remarks>
            This method always returns <c>false</c> under Mono deployments.
            </remarks>
        </member>
        <member name="T:GSF.InitializationException">
            <summary>
            The exception that is thrown when an object fails to initialize properly.
            </summary>
        </member>
        <member name="M:GSF.InitializationException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.InitializationException"/> class.
            </summary>
        </member>
        <member name="M:GSF.InitializationException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.InitializationException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:GSF.InitializationException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.InitializationException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="T:GSF.Int24">
            <summary>Represents a 3-byte, 24-bit signed integer.</summary>
            <remarks>
            <para>
            This class behaves like most other intrinsic signed integers but allows a 3-byte, 24-bit integer implementation
            that is often found in many digital-signal processing arenas and different kinds of protocol parsing.  A signed
            24-bit integer is typically used to save storage space on disk where its value range of -8388608 to 8388607 is
            sufficient, but the signed Int16 value range of -32768 to 32767 is too small.
            </para>
            <para>
            This structure uses an Int32 internally for storage and most other common expected integer functionality, so using
            a 24-bit integer will not save memory.  However, if the 24-bit signed integer range (-8388608 to 8388607) suits your
            data needs you can save disk space by only storing the three bytes that this integer actually consumes.  You can do
            this by calling the Int24.GetBytes function to return a three byte binary array that can be serialized to the desired
            destination and then calling the Int24.GetValue function to restore the Int24 value from those three bytes.
            </para>
            <para>
            All the standard operators for the Int24 have been fully defined for use with both Int24 and Int32 signed integers;
            you should find that without the exception Int24 can be compared and numerically calculated with an Int24 or Int32.
            Necessary casting should be minimal and typical use should be very simple - just as if you are using any other native
            signed integer.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.Int24.BitMask">
            <summary>High byte bit-mask used when a 24-bit integer is stored within a 32-bit integer. This field is constant.</summary>
        </member>
        <member name="M:GSF.Int24.#ctor(GSF.Int24)">
            <summary>Creates 24-bit signed integer from an existing 24-bit signed integer.</summary>
            <param name="value">24-but signed integer to create new Int24 from.</param>
        </member>
        <member name="M:GSF.Int24.#ctor(System.Int32)">
            <summary>Creates 24-bit signed integer from a 32-bit signed integer.</summary>
            <param name="value">32-bit signed integer to use as new 24-bit signed integer value.</param>
            <exception cref="T:System.OverflowException">Source values outside 24-bit min/max range will cause an overflow exception.</exception>
        </member>
        <member name="M:GSF.Int24.#ctor(System.Byte[],System.Int32)">
            <summary>Creates 24-bit signed integer from three bytes at a specified position in a byte array.</summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within <paramref name="value"/>.</param>
            <remarks>
            <para>You can use this constructor in-lieu of a System.BitConverter.ToInt24 function.</para>
            <para>Bytes endian order assumed to match that of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> is greater than <paramref name="value"/> length.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> length from <paramref name="startIndex"/> is too small to represent a <see cref="T:GSF.UInt24"/>.</exception>
        </member>
        <member name="M:GSF.Int24.GetBytes">
            <summary>Returns the Int24 value as an array of three bytes.</summary>
            <returns>An array of bytes with length 3.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.GetBytes function.</para>
            <para>Bytes will be returned in endian order of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
        </member>
        <member name="M:GSF.Int24.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not an Int32 or Int24.</exception>
        </member>
        <member name="M:GSF.Int24.CompareTo(GSF.Int24)">
            <summary>
            Compares this instance to a specified 24-bit signed integer and returns an indication of their
            relative values.
            </summary>
            <param name="value">An integer to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Int24.CompareTo(System.Int32)">
            <summary>
            Compares this instance to a specified 32-bit signed integer and returns an indication of their
            relative values.
            </summary>
            <param name="value">An integer to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Int24.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of Int32 or Int24 and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Int24.Equals(GSF.Int24)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified Int24 value.
            </summary>
            <param name="obj">An Int24 value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Int24.Equals(System.Int32)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified Int32 value.
            </summary>
            <param name="obj">An Int32 value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Int24.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Int24.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Int24.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Int24.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Int24.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Int24.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its 24-bit signed integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A 24-bit signed integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than Int24.MinValue or greater than Int24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Int24.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its 24-bit signed integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <returns>
            A 24-bit signed integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than Int24.MinValue or greater than Int24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Int24.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its 24-bit
            signed integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A 24-bit signed integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than Int24.MinValue or greater than Int24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Int24.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its 24-bit
            signed integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A 24-bit signed integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than Int24.MinValue or greater than Int24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Int24.TryParse(System.String,GSF.Int24@)">
            <summary>
            Converts the string representation of a number to its 24-bit signed integer equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the 24-bit signed integer value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than Int24.MinValue or greater than Int24.MaxValue.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Int24.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Int24@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            24-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <param name="result">
            When this method returns, contains the 24-bit signed integer value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than Int24.MinValue or greater than
            Int24.MaxValue. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Int24.GetTypeCode">
            <summary>
            Returns the System.TypeCode for value type System.Int32 (there is no defined type code for an Int24).
            </summary>
            <returns>The enumerated constant, System.TypeCode.Int32.</returns>
            <remarks>
            There is no defined Int24 type code and since an Int24 will easily fit inside an Int32, the
            Int32 type code is returned.
            </remarks>
        </member>
        <member name="M:GSF.Int24.op_Equality(GSF.Int24,GSF.Int24)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean value indicating equality.</returns>
        </member>
        <member name="M:GSF.Int24.op_Equality(System.Int32,GSF.Int24)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean value indicating equality.</returns>
        </member>
        <member name="M:GSF.Int24.op_Equality(GSF.Int24,System.Int32)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean value indicating equality.</returns>
        </member>
        <member name="M:GSF.Int24.op_Inequality(GSF.Int24,GSF.Int24)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating the result of the inequality.</returns>
        </member>
        <member name="M:GSF.Int24.op_Inequality(System.Int32,GSF.Int24)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating the result of the inequality.</returns>
        </member>
        <member name="M:GSF.Int24.op_Inequality(GSF.Int24,System.Int32)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating the result of the inequality.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThan(GSF.Int24,GSF.Int24)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThan(System.Int32,GSF.Int24)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThan(GSF.Int24,System.Int32)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThanOrEqual(GSF.Int24,GSF.Int24)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThanOrEqual(System.Int32,GSF.Int24)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LessThanOrEqual(GSF.Int24,System.Int32)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was less than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThan(GSF.Int24,GSF.Int24)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThan(System.Int32,GSF.Int24)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThan(GSF.Int24,System.Int32)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThanOrEqual(GSF.Int24,GSF.Int24)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than or equal to the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThanOrEqual(System.Int32,GSF.Int24)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than or equal to the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_GreaterThanOrEqual(GSF.Int24,System.Int32)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Boolean indicating whether the left value was greater than or equal to the right value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Enum)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Enum value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.String)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">String value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Decimal)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Decimal value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Double)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Double value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Single)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Float value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Int64)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Long value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(System.Int32)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Integer value that is converted.</param>
            <returns>Int24</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(GSF.Int24)~System.Int16">
            <summary>
            Explicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Int16"/>.
            </summary>
            <param name="value">Int24 value that is converted.</param>
            <returns>Short</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(GSF.Int24)~System.UInt16">
            <summary>
            Explicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.UInt16"/>.
            </summary>
            <param name="value">Int24 value that is converted.</param>
            <returns>Unsigned Short</returns>
        </member>
        <member name="M:GSF.Int24.op_Explicit(GSF.Int24)~System.Byte">
            <summary>
            Explicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Byte"/>.
            </summary>
            <param name="value">Int24 value that is converted.</param>
            <returns>Byte</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(System.Byte)~GSF.Int24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Byte value that is converted to an <see cref="T:GSF.Int24"/>.</param>
            <returns>An <see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(System.Char)~GSF.Int24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Char value that is converted to an <see cref="T:GSF.Int24"/>.</param>
            <returns>An <see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(System.Int16)~GSF.Int24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value">Short value that is converted to an <see cref="T:GSF.Int24"/>.</param>
            <returns>An <see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.Int32">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.Int32"/>.</param>
            <returns>An <see cref="T:System.Int32"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.UInt32">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.UInt32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an unsigned integer.</param>
            <returns>Unsigned integer</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.Int64"/>.</param>
            <returns>An <see cref="T:System.Int64"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.UInt64">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.UInt64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.UInt64"/>.</param>
            <returns>An <see cref="T:System.UInt64"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Double"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.Double"/>.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.Single">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Single"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.Single"/>.</param>
            <returns>A <see cref="T:System.Single"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.Decimal">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.Decimal"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.Decimal"/>.</param>
            <returns>A <see cref="T:System.Decimal"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Implicit(GSF.Int24)~System.String">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:System.String"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value that is converted to an <see cref="T:System.String"/>.</param>
            <returns>A <see cref="T:System.String"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_True(GSF.Int24)">
            <summary>
            Returns true if value is not zero.
            </summary>
            <param name="value">Int24 value to test.</param>
            <returns>Boolean to indicate whether the value was not equal to zero.</returns>
        </member>
        <member name="M:GSF.Int24.op_False(GSF.Int24)">
            <summary>
            Returns true if value is equal to zero.
            </summary>
            <param name="value">Int24 value to test.</param>
            <returns>Boolean to indicate whether the value was equal to zero.</returns>
        </member>
        <member name="M:GSF.Int24.op_OnesComplement(GSF.Int24)">
            <summary>
            Returns bitwise complement of value.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value as operand.</param>
            <returns><see cref="T:GSF.Int24"/> as result.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseAnd(GSF.Int24,GSF.Int24)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Int24 as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseAnd(System.Int32,GSF.Int24)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseAnd(GSF.Int24,System.Int32)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseOr(GSF.Int24,GSF.Int24)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Int24 as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseOr(System.Int32,GSF.Int24)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_BitwiseOr(GSF.Int24,System.Int32)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer as result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_ExclusiveOr(GSF.Int24,GSF.Int24)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer value of the resulting exclusive-OR operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_ExclusiveOr(System.Int32,GSF.Int24)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer value of the resulting exclusive-OR operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_ExclusiveOr(GSF.Int24,System.Int32)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer value of the resulting exclusive-OR operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_RightShift(GSF.Int24,System.Int32)">
            <summary>
            Returns value after right shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value to shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> shifts indicates how many places to shift.</param>
            <returns>An <see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_LeftShift(GSF.Int24,System.Int32)">
            <summary>
            Returns value after left shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value to shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> shifts indicates how many places to shift.</param>
            <returns>An <see cref="T:GSF.Int24"/> value.</returns>
        </member>
        <member name="M:GSF.Int24.op_Modulus(GSF.Int24,GSF.Int24)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:GSF.Int24"/> value as numerator.</param>
            <param name="value2"><see cref="T:GSF.Int24"/> value as denominator.</param>
            <returns><see cref="T:GSF.Int24"/> as remainder</returns>
        </member>
        <member name="M:GSF.Int24.op_Modulus(System.Int32,GSF.Int24)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:System.Int32"/> value as numerator.</param>
            <param name="value2"><see cref="T:GSF.Int24"/> value as denominator.</param>
            <returns><see cref="T:System.Int32"/> as remainder</returns>
        </member>
        <member name="M:GSF.Int24.op_Modulus(GSF.Int24,System.Int32)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:GSF.Int24"/> value as numerator.</param>
            <param name="value2"><see cref="T:System.Int32"/> value as denominator.</param>
            <returns><see cref="T:System.Int32"/> as remainder</returns>
        </member>
        <member name="M:GSF.Int24.op_Addition(GSF.Int24,GSF.Int24)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Int24 result of addition.</returns>
        </member>
        <member name="M:GSF.Int24.op_Addition(System.Int32,GSF.Int24)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of addition.</returns>
        </member>
        <member name="M:GSF.Int24.op_Addition(GSF.Int24,System.Int32)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of addition.</returns>
        </member>
        <member name="M:GSF.Int24.op_Subtraction(GSF.Int24,GSF.Int24)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Int24 result of subtraction.</returns>
        </member>
        <member name="M:GSF.Int24.op_Subtraction(System.Int32,GSF.Int24)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of subtraction.</returns>
        </member>
        <member name="M:GSF.Int24.op_Subtraction(GSF.Int24,System.Int32)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of subtraction.</returns>
        </member>
        <member name="M:GSF.Int24.op_Increment(GSF.Int24)">
            <summary>
            Returns incremented value.
            </summary>
            <param name="value">The operand.</param>
            <returns>Int24 result of increment.</returns>
        </member>
        <member name="M:GSF.Int24.op_Decrement(GSF.Int24)">
            <summary>
            Returns decremented value.
            </summary>
            <param name="value">The operand.</param>
            <returns>Int24 result of decrement.</returns>
        </member>
        <member name="M:GSF.Int24.op_Multiply(GSF.Int24,GSF.Int24)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:GSF.Int24"/> value as left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Int24"/> value as right hand operand.</param>
            <returns><see cref="T:GSF.Int24"/> as result</returns>
        </member>
        <member name="M:GSF.Int24.op_Multiply(System.Int32,GSF.Int24)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:System.Int32"/> value as left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Int24"/> value as right hand operand.</param>
            <returns><see cref="T:System.Int32"/> as result</returns>
        </member>
        <member name="M:GSF.Int24.op_Multiply(GSF.Int24,System.Int32)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:GSF.Int24"/> value as left hand operand.</param>
            <param name="value2"><see cref="T:System.Int32"/> value as right hand operand.</param>
            <returns><see cref="T:System.Int32"/> as result</returns>
        </member>
        <member name="M:GSF.Int24.op_Division(GSF.Int24,GSF.Int24)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Int24 result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_Division(System.Int32,GSF.Int24)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_Division(GSF.Int24,System.Int32)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Integer result of operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_Exponent(GSF.Int24,GSF.Int24)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Double that is the result of the operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_Exponent(System.Int32,GSF.Int24)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Double that is the result of the operation.</returns>
        </member>
        <member name="M:GSF.Int24.op_Exponent(GSF.Int24,System.Int32)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">Left hand operand.</param>
            <param name="value2">Right hand operand.</param>
            <returns>Double that is the result of the operation.</returns>
        </member>
        <member name="F:GSF.Int24.MaxValue">
            <summary>
            Represents the largest possible value of an Int24. This field is constant.
            </summary>
        </member>
        <member name="F:GSF.Int24.MinValue">
            <summary>
            Represents the smallest possible value of an Int24. This field is constant.
            </summary>
        </member>
        <member name="M:GSF.Int24.GetBytes(GSF.Int24)">
            <summary>Returns the specified Int24 value as an array of three bytes.</summary>
            <param name="value">Int24 value to convert to bytes.</param>
            <returns>An array of bytes with length 3.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.GetBytes(Int24) function.</para>
            <para>Bytes will be returned in endian order of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
        </member>
        <member name="M:GSF.Int24.GetValue(System.Byte[],System.Int32)">
            <summary>Returns a 24-bit signed integer from three bytes at a specified position in a byte array.</summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit signed integer formed by three bytes beginning at startIndex.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.ToInt24 function.</para>
            <para>Bytes endian order assumed to match that of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> is greater than <paramref name="value"/> length.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> length from <paramref name="startIndex"/> is too small to represent an <see cref="T:GSF.Int24"/>.</exception>
        </member>
        <member name="T:GSF.Interop.IniFile">
            <summary>
            Represents a Windows INI style configuration file.
            </summary>
        </member>
        <member name="M:GSF.Interop.IniFile.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Interop.IniFile"/>.
            </summary>
            <remarks>INI file name defaults to "Win.ini" - change using FileName property.</remarks>
        </member>
        <member name="M:GSF.Interop.IniFile.#ctor(System.String)">
            <summary>
            Creates a new <see cref="T:GSF.Interop.IniFile"/> using the specified INI file name.
            </summary>
            <param name="fileName">Specified INI file name to use.</param>
        </member>
        <member name="M:GSF.Interop.IniFile.GetKeyValue(System.String,System.String)">
            <summary>
            Gets the value of the specified key.
            </summary>
            <param name="section">Section key exists in.</param>
            <param name="entry">Name of key.</param>
            <returns>Value of key.</returns>
        </member>
        <member name="M:GSF.Interop.IniFile.GetKeyValue(System.String,System.String,System.String)">
            <summary>
            Gets the value of the specified key.
            </summary>
            <param name="section">Section key exists in.</param>
            <param name="entry">Name of key.</param>
            <param name="defaultValue">Default value of key.</param>
            <returns>Value of key.</returns>
        </member>
        <member name="M:GSF.Interop.IniFile.SetKeyValue(System.String,System.String,System.String)">
            <summary>
            Sets the value of the specified key.
            </summary>
            <param name="section">Section key exists in.</param>
            <param name="entry">Name of key.</param>
            <param name="newValue">The new key value to store in the INI file.</param>
        </member>
        <member name="M:GSF.Interop.IniFile.GetSectionKeys(System.String)">
            <summary>
            Gets an array of keys from the specified section in the INI file.
            </summary>
            <param name="section">Section to retrieve keys from.</param>
            <returns>Array of <see cref="T:System.String"/> keys from the specified section of the INI file.</returns>
        </member>
        <member name="M:GSF.Interop.IniFile.GetSectionNames">
            <summary>
            Gets an array of that section names that exist in the INI file.
            </summary>
            <returns>Array of <see cref="T:System.String"/> section names from the INI file.</returns>
        </member>
        <member name="P:GSF.Interop.IniFile.FileName">
            <summary>
            File name of the INI file.
            </summary>
        </member>
        <member name="P:GSF.Interop.IniFile.Item(System.String,System.String,System.String)">
            <summary>
            Gets the value of the specified key.
            </summary>
            <param name="section">Section key exists in.</param>
            <param name="entry">Name of key.</param>
            <param name="defaultValue">Default value of key.</param>
            <returns>Value of key.</returns>
            <remarks>This is the default member of this class.</remarks>
        </member>
        <member name="P:GSF.Interop.IniFile.Item(System.String,System.String)">
            <summary>
            Gets or sets the value of the specified key.
            </summary>
            <param name="section">Section key exists in.</param>
            <param name="entry">Name of key.</param>
            <value>The new key value to store in the INI file.</value>
            <returns>Value of key.</returns>
            <remarks>This is the default member of this class.</remarks>
        </member>
        <member name="T:GSF.Interop.NamespaceDoc">
            <summary>
            Contains classes used to handle interoperability with older legacy applications.
            </summary>
        </member>
        <member name="T:GSF.Interop.VBArrayDescriptor">
            <summary>
            Represents an old style Visual Basic array descriptor.
            </summary>
            <remarks>
            This class is used to mimic the binary array descriptor used when an array is serialized
            into a file using older Visual Basic applications (VB 6 and prior), this way old VB apps
            can still deserialize an array stored in a file written by a .NET application and vice versa.
            </remarks>
        </member>
        <member name="T:GSF.Parsing.ISupportBinaryImage">
            <summary>
            Specifies that an object can support production or consumption of a binary image that represents the object.
            </summary>
        </member>
        <member name="M:GSF.Parsing.ISupportBinaryImage.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Initializes object by parsing the specified <paramref name="buffer"/> containing a binary image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> to read from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <remarks>
            Implementers should validate <paramref name="startIndex"/> and <paramref name="length"/> against <paramref name="buffer"/> length.
            The <see cref="M:GSF.ArrayExtensions.ValidateParameters``1(``0[],System.Int32,System.Int32)"/> method can be used to perform this validation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.ISupportBinaryImage.GenerateBinaryImage(System.Byte[],System.Int32)">
            <summary>
            Generates binary image of the object and copies it into the given buffer, for <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <remarks>
            Implementers should validate <paramref name="startIndex"/> and <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> against <paramref name="buffer"/> length.
            The <see cref="M:GSF.ArrayExtensions.ValidateParameters``1(``0[],System.Int32,System.Int32)"/> method can be used to perform this validation.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.ISupportBinaryImage.BinaryLength">
            <summary>
            Gets the length of the binary image.
            </summary>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.#ctor(System.Int32[],System.Int32[])">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Interop.VBArrayDescriptor"/> class.
            </summary>
            <param name="arrayLengths">Length of array per dimension.</param>
            <param name="arrayLowerBounds">Lower bound of array per dimension.</param>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.GenerateBinaryImage(System.Byte[],System.Int32)">
            <summary>
            Generates binary image of the object and copies it into the given buffer, for <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> will exceed <paramref name="buffer"/> length.
            </exception>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.ZeroBasedOneDimensionalArray(System.Int32)">
            <summary>
            Returns a <see cref="T:GSF.Interop.VBArrayDescriptor"/> object for a one dimensional array with zero-based index.
            </summary>
            <param name="arrayLength">Length of the array.</param>
            <returns>A <see cref="T:GSF.Interop.VBArrayDescriptor"/> object.</returns>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.OneBasedOneDimensionalArray(System.Int32)">
            <summary>
            Returns a <see cref="T:GSF.Interop.VBArrayDescriptor"/> object for a one dimensional array with one-based index.
            </summary>
            <param name="arrayLength">Length of the array.</param>
            <returns>A <see cref="T:GSF.Interop.VBArrayDescriptor"/> object.</returns>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.ZeroBasedTwoDimensionalArray(System.Int32,System.Int32)">
            <summary>
            Returns a <see cref="T:GSF.Interop.VBArrayDescriptor"/> object for a two dimensional array with zero-based index.
            </summary>
            <param name="dimensionOneLength">Length of array in dimension one.</param>
            <param name="dimensionTwoLength">Length of array in dimension two.</param>
            <returns>A <see cref="T:GSF.Interop.VBArrayDescriptor"/> object.</returns>
        </member>
        <member name="M:GSF.Interop.VBArrayDescriptor.OneBasedTwoDimensionalArray(System.Int32,System.Int32)">
            <summary>
            Returns a <see cref="T:GSF.Interop.VBArrayDescriptor"/> object for a two dimensional array with one-based index.
            </summary>
            <param name="dimensionOneLength">Length of array in dimension one.</param>
            <param name="dimensionTwoLength">Length of array in dimension two.</param>
            <returns>A <see cref="T:GSF.Interop.VBArrayDescriptor"/> object.</returns>
        </member>
        <member name="P:GSF.Interop.VBArrayDescriptor.BinaryLength">
            <summary>
            Gets the length of serialized <see cref="T:GSF.Interop.VBArrayDescriptor"/>.
            </summary>
        </member>
        <member name="T:GSF.BufferPool">
            <summary>
            Represents a common buffer pool that can be used by an application.
            </summary>
            <remarks>
            <para>
            The buffer pool is statically created at application startup and is available for all components and classes
            within an application domain. Every time you need to use a buffer, you take one from the pool, use it, and
            return it to the pool when done. This process is much faster than creating and destroying a buffer every
            time you need to use one.
            </para>
            <para>
            It is very important to return the buffer to the pool when you are finished using it. If you are using a buffer
            scoped within a method, make sure to use a try/finally so that you can take the buffer within the try and
            return the buffer within the finally. If you are using a buffer as a member scoped class field, make sure
            you use the standard dispose pattern and return the buffer in the <see cref="M:System.IDisposable.Dispose"/> method.
            </para>
            <para>
            Internally this class simply wraps a static instance of the WCF <see cref="T:System.ServiceModel.Channels.BufferManager"/>.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.BufferPool.TakeBuffer(System.Int32)">
            <summary>
            Gets a buffer of at least the specified size from the pool.
            </summary>
            <param name="bufferSize">The size, in bytes, of the requested buffer.</param>
            <returns>A byte array that is the requested size of the buffer.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bufferSize"/> cannot be less than zero.</exception>
        </member>
        <member name="M:GSF.BufferPool.ReturnBuffer(System.Byte[])">
            <summary>
            Returns a buffer to the pool.
            </summary>
            <param name="buffer">A reference to the buffer being returned.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> reference cannot be null.</exception>
            <exception cref="T:System.ArgumentException">Length of <paramref name="buffer"/> does not match the pool's buffer length property.</exception>
        </member>
        <member name="M:GSF.BufferPool.Clear">
            <summary>
            Releases all the buffers currently cached in the pool.
            </summary>
        </member>
        <member name="T:GSF.IO.BlockAllocatedMemoryStream">
            <summary>
            Defines a stream whose backing store is memory. Externally this class operates similar to a <see cref="T:System.IO.MemoryStream"/>,
            internally it uses dynamically allocated buffer blocks instead of one large contiguous array of data.
            </summary>
            <remarks>
            <para>
            The <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> has three primary benefits over a normal <see cref="T:System.IO.MemoryStream"/>, first, the
            allocation of a large contiguous array of data in <see cref="T:System.IO.MemoryStream"/> can fail when the requested amount of contiguous
            memory is unavailable - the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> prevents this; second, a <see cref="T:System.IO.MemoryStream"/> will
            constantly reallocate the buffer size as the stream grows and shrinks and then copy all the data from the old buffer to the
            new - the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> maintains its blocks over its lifecycle, unless manually cleared, thus
            eliminating unnecessary allocations and garbage collections when growing and reusing a stream; third, a managed buffer pool,
            <see cref="T:GSF.BufferPool"/>, is used for internal buffer management allowing the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> to
            reuse previously allocated buffers further eliminating allocations and garbage collections even for short lived instances.
            </para>
            <para>
            Unlike <see cref="T:System.IO.MemoryStream"/>, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will not use a user provided buffer as its
            backing buffer. Any user provided buffers used to instantiate the class will be copied into internally managed reusable memory
            buffers. Subsequently, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> does not support the notion of a non-expandable stream.
            In general, if you are using a <see cref="T:System.IO.MemoryStream"/> with your own buffer, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/>
            will not provide any immediate benefit.
            </para>
            <para>
            Note that the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will maintain all allocated blocks for stream use until the
            <see cref="M:GSF.IO.BlockAllocatedMemoryStream.Clear"/> method is called or the class is disposed.
            </para>
            <para>
            No members in the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> are guaranteed to be thread safe. Make sure any calls are
            synchronized when simultaneously accessed from different threads.
            </para>
            <para>
            Disposing of a <see cref="T:System.IO.MemoryStream"/> is generally not required since its actual dispose method doesn't do anything,
            however, since the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> uses buffers obtained from a shared buffer pool, it is
            optimal to make sure instances are properly disposed (e.g., wrapping instances in a "using(...)" statement) so that the
            referenced buffers are returned to the pool as soon as possible instead of waiting for the destructor to be called from
            the garbage collector.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.IO.BlockAllocatedMemoryStream.DefaultBlockSize">
            <summary>
            Default value for <see cref="P:GSF.IO.BlockAllocatedMemoryStream.BlockSize"/> property.
            </summary>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Byte[])">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> from specified <paramref name="buffer"/>.
            </summary>
            <param name="buffer">Initial buffer to copy into stream.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <remarks>
            Unlike <see cref="T:System.IO.MemoryStream"/>, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will not use the provided
            <paramref name="buffer"/> as its backing buffer. The buffer will be copied into internally managed reusable
            memory buffers. Subsequently, the notion of a non-expandable stream is not supported.
            </remarks>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Byte[],System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> from specified <paramref name="buffer"/>
            and desired block size.
            </summary>
            <param name="buffer">Initial buffer to copy into stream.</param>
            <param name="blockSize">Desired size of memory blocks.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Block size must be greater than zero.</exception>
            <remarks>
            Unlike <see cref="T:System.IO.MemoryStream"/>, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will not use the provided
            <paramref name="buffer"/> as its backing buffer. The buffer will be copied into internally managed reusable
            memory buffers. Subsequently, the notion of a non-expandable stream is not supported.
            </remarks>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> from specified region of <paramref name="buffer"/>.
            </summary>
            <param name="buffer">Initial buffer to copy into stream.</param>
            <param name="startIndex">0-based start index into the <paramref name="buffer"/>.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <remarks>
            Unlike <see cref="T:System.IO.MemoryStream"/>, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will not use the provided
            <paramref name="buffer"/> as its backing buffer. The buffer will be copied into internally managed reusable
            memory buffers. Subsequently, the notion of a non-expandable stream is not supported.
            </remarks>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> from specified region of <paramref name="buffer"/>
            and desired block size.
            </summary>
            <param name="buffer">Initial buffer to copy into stream.</param>
            <param name="startIndex">0-based start index into the <paramref name="buffer"/>.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <param name="blockSize">Desired size of memory blocks.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Block size must be greater than zero.</exception>
            <remarks>
            Unlike <see cref="T:System.IO.MemoryStream"/>, the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> will not use the provided
            <paramref name="buffer"/> as its backing buffer. The buffer will be copied into internally managed reusable
            memory buffers. Subsequently, the notion of a non-expandable stream is not supported.
            </remarks>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> for specified <paramref name="capacity"/>.
            </summary>
            <param name="capacity">Initial length of the stream.</param>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> for specified <paramref name="capacity"/>
            and desired block size.
            </summary>
            <param name="capacity">Initial length of the stream.</param>
            <param name="blockSize">Desired size of memory blocks.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Block size must be greater than zero.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Clear">
            <summary>
            Clears the entire <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> contents and releases any allocated memory blocks.
            </summary>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Sets the <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/> within the current stream to the specified value relative the <paramref name="origin"/>.
            </summary>
            <returns>
            The new position within the stream, calculated by combining the initial reference point and the offset.
            </returns>
            <param name="offset">The new position within the stream. This is relative to the <paramref name="origin"/> parameter, and can be positive or negative.</param>
            <param name="origin">A value of type <see cref="T:System.IO.SeekOrigin"/>, which acts as the seek reference point.</param>
            <exception cref="T:System.IO.IOException">Seeking was attempted before the beginning of the stream.</exception>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.SetLength(System.Int64)">
            <summary>
            Sets the length of the current stream to the specified value.
            </summary>
            <param name="value">The value at which to set the length.</param>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Reads a block of bytes from the current stream and writes the data to <paramref name="buffer"/>.
            </summary>
            <param name="buffer">When this method returns, contains the specified byte array with the values between <paramref name="startIndex"/> and (<paramref name="startIndex"/> + <paramref name="length"/> - 1) replaced by the characters read from the current stream.</param>
            <param name="startIndex">The byte offset in <paramref name="buffer"/> at which to begin reading.</param>
            <param name="length">The maximum number of bytes to read.</param>
            <returns>
            The total number of bytes written into the buffer. This can be less than the number of bytes requested if that number of bytes are not currently available, or zero if the end of the stream is reached before any bytes are read.
            </returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.ReadByte">
            <summary>
            Reads a byte from the current stream.
            </summary>
            <returns>
            The current byte cast to an <see cref="T:System.Int32"/>, or -1 if the end of the stream has been reached.
            </returns>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a block of bytes to the current stream using data read from <paramref name="buffer"/>.
            </summary>
            <param name="buffer">The buffer to write data from.</param>
            <param name="startIndex">The byte offset in <paramref name="buffer"/> at which to begin writing from.</param>
            <param name="length">The maximum number of bytes to write.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.WriteByte(System.Byte)">
            <summary>
            Writes a byte to the current stream at the current position.
            </summary>
            <param name="value">The byte to write.</param>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.ToArray">
            <summary>
            Writes the stream contents to a byte array, regardless of the <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/> property.
            </summary>
            <returns>A <see cref="T:System.Byte"/>[] containing the current data in the stream</returns>
            <remarks>
            This may fail if there is not enough contiguous memory available to hold current size of stream.
            When possible use methods which operate on streams directly instead.
            </remarks>
            <exception cref="T:System.InvalidOperationException">Cannot create a byte array with more than 2,147,483,591 elements.</exception>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.ReadFrom(System.IO.Stream,System.Int64)">
            <summary>
            Reads specified number of bytes from source stream into this <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/>
            starting at the current position.
            </summary>
            <param name="source">The stream containing the data to copy</param>
            <param name="length">The number of bytes to copy</param>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.WriteTo(System.IO.Stream)">
            <summary>
            Writes the entire stream into destination, regardless of <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/>, which remains unchanged.
            </summary>
            <param name="destination">The stream onto which to write the current contents.</param>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.Flush">
            <summary>
            Overrides the <see cref="M:System.IO.Stream.Flush"/> method so that no action is performed.
            </summary>
            <remarks>
            <para>
            This method overrides the <see cref="M:System.IO.Stream.Flush"/> method.
            </para>
            <para>
            Because any data written to a <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> object is
            written into RAM, this method is superfluous.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.IO.BlockAllocatedMemoryStream.EnsureCapacity(System.Int64)">
            <summary>
            Makes sure desired <paramref name="length"/> can be accommodated by future data accesses.
            </summary>
            <param name="length">Minimum desired stream capacity.</param>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.CanRead">
            <summary>
            Gets a value that indicates whether the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> object supports reading.
            This is always <c>true</c>.
            </summary>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.CanSeek">
            <summary>
            Gets a value that indicates whether the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> object supports seeking.
            This is always <c>true</c>.
            </summary>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.CanWrite">
            <summary>
            Gets a value that indicates whether the <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> object supports writing.
            This is always <c>true</c>.
            </summary>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.BlockSize">
            <summary>
            Gets current block size defined for this <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> instance.
            </summary>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.Length">
            <summary>
            Gets current stream length for this <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> instance.
            </summary>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.Position">
            <summary>
            Gets current stream position for this <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/> instance.
            </summary>
            <exception cref="T:System.IO.IOException">Seeking was attempted before the beginning of the stream.</exception>
            <exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.Block">
            <summary>
            Gets the block of memory currently addressed by <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/>.
            </summary>
            <remarks>
            The buffer returned by the property is owned and managed by this <see cref="T:GSF.IO.BlockAllocatedMemoryStream"/>,
            make sure direct access to this buffer is maintained within this class and not exposed externally.
            </remarks>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.BlockIndex">
            <summary>
            Gets the index of the block currently addressed by <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.BlockAllocatedMemoryStream.BlockOffset">
            <summary>
            Gets the offset of the byte currently addressed by <see cref="P:GSF.IO.BlockAllocatedMemoryStream.Position"/> relative to the block that contains it.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Adler32">
            <summary>
            Generates an Adler-32 checksum calculation.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Adler32.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.IO.Checksums.Adler32"/> class.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Adler32.Reset">
            <summary>
            Resets the Adler-32 data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Adler32.Update(System.Byte)">
            <summary>
            Updates the checksum with the byte value.
            </summary>
            <param name="value">The <see cref="T:System.Byte"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Adler32.Update(System.Byte[])">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">buffer an array of bytes</param>
        </member>
        <member name="M:GSF.IO.Checksums.Adler32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name="buffer">The buffer which contains the data</param>
            <param name="offset">The offset in the buffer where the data starts</param>
            <param name="count">The number of data bytes to update the checksum with.</param>
        </member>
        <member name="P:GSF.IO.Checksums.Adler32.Value">
            <summary>
            Returns the Adler-32 data checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.ChecksumExtensions">
            <summary>Defines extension functions related to computing checksums.</summary>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Adler32Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates the Adler-32 checksum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform checksum on.</param>
            <param name="startIndex">Starts index in data buffer to begin checksum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform checksum over.</param>
            <returns>Computed Adler-32 checksum over the specified portion of the buffer.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Crc16Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates the CRC16 check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform check-sum over.</param>
            <returns>Computed CRC16 checksum over the specified portion of the buffer.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.CrcCCITTChecksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates the CRC-CCITT check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform check-sum over.</param>
            <returns>Computed CRC-CCITT checksum over the specified portion of the buffer.</returns>
            <remarks>
            The CRC-CCITT is a table based 16-bit CRC popular for modem protocols defined for use by the
            Consultative Committee on International Telegraphy and Telephony (CCITT) 
            </remarks>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.ModBusCrcChecksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates the CRC-ModBus check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform check-sum over.</param>
            <returns>Computed CRC-ModBus checksum over the specified portion of the buffer.</returns>		
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Crc32Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates the CRC32 check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform check-sum over.</param>
            <returns>Computed CRC32 checksum over the specified portion of the buffer.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Xor8Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates byte length (8-bit) XOR-based check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform XOR check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin XOR check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform XOR check-sum over.</param>
            <returns>Byte length XOR check-sum.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Xor16Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates word length (16-bit) XOR-based check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform XOR check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin XOR check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform XOR check-sum overs</param>
            <returns>Word length XOR check-sum.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Xor32Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates double-word length (32-bit) XOR-based check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform XOR check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin XOR check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform XOR check-sum over.</param>
            <returns>Double-word length XOR check-sum.</returns>
        </member>
        <member name="M:GSF.IO.Checksums.ChecksumExtensions.Xor64Checksum(System.Byte[],System.Int32,System.Int32)">
            <summary>Calculates quad-word length (64-bit) XOR-based check-sum on specified portion of a buffer.</summary>
            <param name="data">Data buffer to perform XOR check-sum on.</param>
            <param name="startIndex">Starts index in data buffer to begin XOR check-sum.</param>
            <param name="length">Total number of bytes from <paramref name="startIndex">startIndex</paramref> to
            perform XOR check-sum over.</param>
            <returns>Quad-word length XOR check-sum.</returns>
        </member>
        <member name="T:GSF.IO.Checksums.ChecksumType">
            <summary>
            Indicates type of CRC-16 calculation performed.
            </summary>
        </member>
        <member name="F:GSF.IO.Checksums.ChecksumType.Crc16">
            <summary>
            Regular CRC-16 calculation.
            </summary>
        </member>
        <member name="F:GSF.IO.Checksums.ChecksumType.ModBus">
            <summary>
            ModBus CRC-16 calculation.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Crc16">
            <summary>
            Generates a byte-wise 16-bit CRC calculation.
            </summary>
            <remarks>
            <para>2-byte (16-bit) CRC: The generating polynomial is</para>
            <para>        16   15   2    1</para>
            <para>G(X) = X  + X  + X  + X</para>
            </remarks>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.#ctor">
            <summary>
            Creates a new instance of the Crc16 class.
            The checksum starts off with a value of 0x0000.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.#ctor(GSF.IO.Checksums.ChecksumType)">
            <summary>
            Creates a new instance of the Crc16 class.
            </summary>
            <param name="checksumType">
            Type of calculation to perform, CRC-16 or ModBus.
            </param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.Reset">
            <summary>
            Resets the CRC-16 data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.Reset(GSF.IO.Checksums.ChecksumType)">
            <summary>
            Resets the CRC-16 data checksum as if no update was ever called.
            </summary>
            <param name="checksumType">Type of CRC calculation. CRC-16 resets to 0x0000, ModBus resets to 0xFFFF</param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.Update(System.Byte)">
            <summary>
            Updates the checksum with the byte value.
            </summary>
            <param name="value">The <see cref="T:System.Byte"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.Update(System.Byte[])">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">buffer an array of bytes</param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc16.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name="buffer">The buffer which contains the data</param>
            <param name="offset">The offset in the buffer where the data starts</param>
            <param name="count">The number of data bytes to update the CRC with.</param>
        </member>
        <member name="P:GSF.IO.Checksums.Crc16.Value">
            <summary>
            Returns the CRC-16 data checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Crc32">
            <summary>
            Generates a byte-wise 32-bit CRC calculation.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Crc32.Reset">
            <summary>
            Resets the CRC-32 data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Crc32.Update(System.Int32)">
            <summary>
            Updates the checksum with the integer value.
            </summary>
            <param name="value">The <see cref="T:System.Byte"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc32.Update(System.Byte[])">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">buffer an array of bytes</param>
        </member>
        <member name="M:GSF.IO.Checksums.Crc32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name="buffer">The buffer which contains the data</param>
            <param name="offset">The offset in the buffer where the data starts</param>
            <param name="count">The number of data bytes to update the CRC with.</param>
        </member>
        <member name="P:GSF.IO.Checksums.Crc32.Value">
            <summary>
            Returns the CRC-32 data checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.CrcCCITT">
            <summary>Generates a 16-bit CRC-CCITT checksum.</summary>
            <remarks>
            This is a table based 16-bit CRC popular for modem protocols defined for use by the
            Consultative Committee on International Telegraphy and Telephony (CCITT) 
            </remarks>
        </member>
        <member name="M:GSF.IO.Checksums.CrcCCITT.#ctor">
            <summary>
            Creates a new instance of the CrcCCITT class.
            The checksum starts off with a value of 0xFFFF.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.CrcCCITT.Reset">
            <summary>
            Resets the CRC-CCITT data checksum as if no update was ever called.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.CrcCCITT.Update(System.Byte)">
            <summary>
            Updates the checksum with the int bval.
            </summary>
            <param name="value">The <see cref="T:System.Byte"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.CrcCCITT.Update(System.Byte[])">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">buffer an array of bytes</param>
        </member>
        <member name="M:GSF.IO.Checksums.CrcCCITT.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Adds the byte array to the data checksum.
            </summary>
            <param name = "buffer">The buffer which contains the data</param>
            <param name = "offset">The offset in the buffer where the data starts</param>
            <param name = "count">The number of data bytes to update the CRC with.</param>
        </member>
        <member name="P:GSF.IO.Checksums.CrcCCITT.Value">
            <summary>
            Returns the CRCCCITT data checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to calculate standard checksums and CRC’s.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Xor16">
            <summary>Calculates word length (16-bit) XOR-based check-sum on specified portion of a buffer.</summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor16.#ctor">
            <summary>
            Creates a new instance of the Xor16Bit class.
            The checksum starts off with a value of 0.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor16.Reset">
            <summary>
            Resets the checksum to the initial value.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor16.Update(System.UInt16)">
            <summary>
            Updates the checksum with a ushort value.
            </summary>
            <param name="value">The <see cref="T:System.UInt16"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor16.Update(System.Byte[])">
            <summary>
            Updates the checksum with an array of bytes.
            </summary>
            <param name="buffer">
            The source of the data to update with.
            </param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor16.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            an array of bytes
            </param>
            <param name="offset">
            the start of the data used for this update
            </param>
            <param name="count">
            the number of bytes to use for this update
            </param>
        </member>
        <member name="P:GSF.IO.Checksums.Xor16.Value">
            <summary>
            Returns the Xor 16-bit checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Xor32">
            <summary>Calculates double-word length (32-bit) XOR-based check-sum on specified portion of a buffer.</summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor32.#ctor">
            <summary>
            Creates a new instance of the Xor32Bit class.
            The checksum starts off with a value of 0.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor32.Reset">
            <summary>
            Resets the checksum to the initial value.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor32.Update(System.UInt32)">
            <summary>
            Updates the checksum with a uint value.
            </summary>
            <param name="value">The <see cref="T:System.UInt32"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor32.Update(System.Byte[])">
            <summary>
            Updates the checksum with an array of bytes.
            </summary>
            <param name="buffer">
            The source of the data to update with.
            </param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor32.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            an array of bytes
            </param>
            <param name="offset">
            the start of the data used for this update
            </param>
            <param name="count">
            the number of bytes to use for this update
            </param>
        </member>
        <member name="P:GSF.IO.Checksums.Xor32.Value">
            <summary>
            Returns the Xor 32-bit checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Xor64">
            <summary>Calculates quad-word length (64-bit) XOR-based check-sum on specified portion of a buffer.</summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor64.#ctor">
            <summary>
            Creates a new instance of the Xor64Bit class.
            The checksum starts off with a value of 0.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor64.Reset">
            <summary>
            Resets the checksum to the initial value.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor64.Update(System.UInt64)">
            <summary>
            Updates the checksum with a ulong value.
            </summary>
            <param name="value">The <see cref="T:System.UInt64"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor64.Update(System.Byte[])">
            <summary>
            Updates the checksum with an array of bytes.
            </summary>
            <param name="buffer">
            The source of the data to update with.
            </param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor64.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            an array of bytes
            </param>
            <param name="offset">
            the start of the data used for this update
            </param>
            <param name="count">
            the number of bytes to use for this update
            </param>
        </member>
        <member name="P:GSF.IO.Checksums.Xor64.Value">
            <summary>
            Returns the Xor 64-bit checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Checksums.Xor8">
            <summary>Calculates byte length (8-bit) XOR-based check-sum on specified portion of a buffer.</summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor8.#ctor">
            <summary>
            Creates a new instance of the Xor8Bit class.
            The checksum starts off with a value of 0.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor8.Reset">
            <summary>
            Resets the checksum to the initial value.
            </summary>
        </member>
        <member name="M:GSF.IO.Checksums.Xor8.Update(System.Byte)">
            <summary>
            Updates the checksum with a byte value.
            </summary>
            <param name="value">The <see cref="T:System.Byte"/> value to use for the update.</param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor8.Update(System.Byte[])">
            <summary>
            Updates the checksum with an array of bytes.
            </summary>
            <param name="buffer">
            The source of the data to update with.
            </param>
        </member>
        <member name="M:GSF.IO.Checksums.Xor8.Update(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Updates the checksum with the bytes taken from the array.
            </summary>
            <param name="buffer">
            an array of bytes
            </param>
            <param name="offset">
            the start of the data used for this update
            </param>
            <param name="count">
            the number of bytes to use for this update
            </param>
        </member>
        <member name="P:GSF.IO.Checksums.Xor8.Value">
            <summary>
            Returns the Xor 8-bit checksum computed so far.
            </summary>
        </member>
        <member name="T:GSF.IO.Compression.CompressionStrength">
            <summary>
            Level of compression enumeration.
            </summary>
            <remarks>
            Compression strengths represent tradeoffs on speed of compression vs. effectiveness of compression.
            </remarks>
        </member>
        <member name="F:GSF.IO.Compression.CompressionStrength.NoCompression">
            <summary>Disables compression.</summary>
        </member>
        <member name="F:GSF.IO.Compression.CompressionStrength.Standard">
            <summary>Enables standard compression.</summary>
        </member>
        <member name="F:GSF.IO.Compression.CompressionStrength.MultiPass">
            <summary>Enables multi-pass compression to continue recompressing buffer as long as size continues to shrink.</summary>
        </member>
        <member name="T:GSF.IO.Compression.CompressionExtensions">
            <summary>
            Defines extension functions related to compression.
            </summary>
        </member>
        <member name="F:GSF.IO.Compression.CompressionExtensions.BufferSize">
            <summary>
            Default compression buffer size.
            </summary>
        </member>
        <member name="F:GSF.IO.Compression.CompressionExtensions.CompressionVersion">
            <summary>
            Needed version of this library to uncompress stream (1.0.0 stored as byte 100).
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Compress(System.Byte[])">
            <summary>
            Compress a byte array using standard compression method.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array to compress.</param>
            <returns>A compressed version of the source <see cref="T:System.Byte"/> array.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Compress(System.Byte[],GSF.IO.Compression.CompressionStrength)">
            <summary>
            Compress a byte array using specified compression method.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array to compress.</param>
            <param name="strength">The specified <see cref="T:GSF.IO.Compression.CompressionStrength"/>.</param>
            <returns>A compressed version of the source <see cref="T:System.Byte"/> array.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Compress(System.Byte[],System.Int32,System.Int32,GSF.IO.Compression.CompressionStrength)">
            <summary>
            Compress a byte array using specified compression method.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array to compress.</param>
            <param name="length">The number of bytes to read into the byte array for compression.</param>
            <param name="startIndex">An <see cref="T:System.Int32"/> representing the start index of the byte array.</param>
            <param name="strength">The specified <see cref="T:GSF.IO.Compression.CompressionStrength"/>.</param>
            <returns>A compressed version of the source <see cref="T:System.Byte"/> array.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Compress(System.IO.Stream,GSF.IO.Compression.CompressionStrength)">
            <summary>
            Compress a stream using specified compression strength.
            </summary>
            <remarks>
            This returns a memory stream of the compressed results, if the incoming stream is
            very large this will consume a large amount memory.  In this case use the overload
            that takes the destination stream as a parameter instead.
            </remarks>
            <param name="source">The <see cref="T:System.IO.Stream"/> to compress.</param>
            <param name="strength">The <see cref="T:GSF.IO.Compression.CompressionStrength"/> of the compression.</param>
            <returns>Returns a <see cref="T:System.IO.MemoryStream"/> of the compressed <see cref="T:System.IO.Stream"/>.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Compress(System.IO.Stream,System.IO.Stream,GSF.IO.Compression.CompressionStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Compress a stream onto given output stream using specified compression strength.
            </summary>
            <param name="source">The <see cref="T:System.IO.Stream"/> to compress.</param>
            <param name="strength">The <see cref="T:GSF.IO.Compression.CompressionStrength"/> of the compression.</param>
            <param name="destination">The <see cref="T:System.IO.Stream"/> destination.</param>
            <param name="progressHandler">The progress handler to check progress.</param>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Decompress(System.Byte[])">
            <summary>
            Decompress a byte array.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array to decompress.</param>
            <returns>A decompressed version of the source <see cref="T:System.Byte"/> array.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Decompress(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decompress a byte array.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array to decompress.</param>
            <param name="length">The number of bytes to read into the byte array for compression.</param>
            <param name="startIndex">An <see cref="T:System.Int32"/> representing the start index of the byte array.</param>
            <returns>A decompressed <see cref="T:System.Byte"/> array.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Decompress(System.IO.Stream)">
            <summary>
            Decompress a stream.
            </summary>
            <remarks>
            This returns a memory stream of the uncompressed results, if the incoming stream is
            very large this will consume a large amount memory.  In this case use the overload
            that takes the destination stream as a parameter instead.
            </remarks>
            <param name="source">A <see cref="T:System.IO.Stream"/> source to decompress.</param>
            <returns>A <see cref="T:System.IO.MemoryStream"/> representing the decompressed source.</returns>
        </member>
        <member name="M:GSF.IO.Compression.CompressionExtensions.Decompress(System.IO.Stream,System.IO.Stream,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Decompress a stream onto given output stream.
            </summary>
            <param name="source">A source <see cref="T:System.IO.Stream"/> to decompress.</param>
            <param name="destination">The destination <see cref="T:System.IO.Stream"/> to decompress to.</param>
            <param name="progressHandler">A <see cref="T:System.Action"/> handler to monitor the action's progress.</param>
        </member>
        <member name="T:GSF.IO.Compression.FileCompressor">
            <summary>Performs basic compression and decompression on a file.</summary>
        </member>
        <member name="M:GSF.IO.Compression.FileCompressor.Compress(System.String,System.String)">
            <summary>
            Compress a file using default compression strength (not PKZip compatible...)
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
        </member>
        <member name="M:GSF.IO.Compression.FileCompressor.Compress(System.String,System.String,GSF.IO.Compression.CompressionStrength)">
            <summary>
            Compress a file using specified compression strength (not PKZip compatible...)
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <param name="strength">Stength of compression to apply.</param>
        </member>
        <member name="M:GSF.IO.Compression.FileCompressor.Compress(System.String,System.String,GSF.IO.Compression.CompressionStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Compress a file using specified compression strength (not PKZip compatible...)
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <param name="strength">Stength of compression to apply.</param>
            <param name="progressHandler">User function to call with compression progress updates.</param>
        </member>
        <member name="M:GSF.IO.Compression.FileCompressor.Decompress(System.String,System.String)">
            <summary>
            Uncompress a file compressed with CompressFile (not PKZip compatible...)
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
        </member>
        <member name="M:GSF.IO.Compression.FileCompressor.Decompress(System.String,System.String,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Uncompress a file compressed with CompressFile given progress event handler (not PKZip compatible...)
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <param name="progressHandler">User function to call with decompression progress updates.</param>
        </member>
        <member name="T:GSF.IO.Compression.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to simplify and standardize using compression in applications.
            </summary>
        </member>
        <member name="T:GSF.IO.Compression.PatternCompressor">
            <summary>
            Defines functions used for high-speed pattern compression against native types.
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.#ctor(System.Byte)">
            <summary>
            Creates a new instance of the PatternCompressor with the given compression strength.
            </summary>
            <param name="compressionStrength">The compression strength of the PatternCompressor.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(GSF.Parsing.ISupportBinaryImage)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> cannot be null.</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Byte[])">
            <summary>
            Compresses all of the data in the given <paramref name="buffer"/>.
            </summary>
            <param name="buffer">The buffer to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="buffer"/> length must be a multiple of four.</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Byte[],System.Int32)">
            <summary>
            Compresses <paramref name="length"/> bytes of data in the given <paramref name="buffer"/>.
            </summary>
            <param name="buffer">The buffer to be compressed.</param>
            <param name="length">The amount of data to be compressed. Must be a multiple of four.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="length"/> must be a multiple of four.</exception>]
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> exceeds <paramref name="buffer"/> array boundaries</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Compresses <paramref name="length"/> bytes of data in the given <paramref name="buffer"/>, starting at <paramref name="offset"/>.
            </summary>
            <param name="buffer">The buffer to be compressed.</param>
            <param name="offset">The amount of data to ignore at the start of the buffer.</param>
            <param name="length">The amount of data to be compressed. Must be a multiple of four.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="length"/> must be a multiple of four.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> exceeds <paramref name="buffer"/> array boundaries</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Double)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Single)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Int64)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.UInt64)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Int32)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.UInt32)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Int16)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.UInt16)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Compress(System.Byte)">
            <summary>
            Compresses the given value and places it in the compressed buffer.
            </summary>
            <param name="value">The value to be compressed.</param>
            <returns>The size, in bytes, of the compressed value.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.EmptyCompressedBuffer">
            <summary>
            Sets <see cref="P:GSF.IO.Compression.PatternCompressor.CompressedBufferLength"/> to zero and allows the
            compressor to write over the values in the compressed buffer.
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.Reset">
            <summary>
            Resets the compressor by flushing the back buffer. Subsequent calls
            to the Compress methods will not be compressed using previously
            compressed values.
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.PatternCompressor.CompressBuffer(System.Byte[],System.Int32,System.Int32,System.Int32,System.Byte)">
            <summary>
            Compress a byte array containing a sequential list of 32-bit structures (e.g., floating point numbers, integers or unsigned integers) using a patterned compression method.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array containing 32-bit values to compress. Compression will happen inline on this buffer.</param>
            <param name="startIndex">An <see cref="T:System.Int32"/> representing the start index of the byte array.</param>
            <param name="dataLength">The number of bytes in the buffer that represents actual data.</param>
            <param name="bufferLength">The number of bytes available for use in the buffer; actual buffer length must be at least one byte larger than <paramref name="dataLength"/> since it's possible that data cannot be compressed. This extra byte will be used indicate an uncompressed buffer.</param>
            <param name="compressionStrength">Specifies compression strength (0 to 31). Smaller numbers will run faster, larger numbers will yield better compression.</param>
            <returns>The new length of the buffer after compression.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="source"/> buffer cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="dataLength"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="dataLength"/> must be an even multiple of 4.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bufferLength"/> must be at least one byte larger than <paramref name="dataLength"/> in case data cannot be compressed.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Actual length of <paramref name="source"/> buffer is less than specified <paramref name="bufferLength"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="compressionStrength"/> must be 0 to 31.</exception>
            <remarks>
            As an optimization this function is using pointers to native structures, as such the endian order decoding and encoding of the values will always be in the native endian order of the operating system.
            </remarks>
        </member>
        <member name="P:GSF.IO.Compression.PatternCompressor.CompressedBuffer">
            <summary>
            Gets or sets the buffer into which compressed values are written.
            </summary>
            <remarks>
            When setting the compressed buffer, the new buffer is assumed to be empty
            (<see cref="P:GSF.IO.Compression.PatternCompressor.CompressedBufferLength"/> is set to zero).
            </remarks>
        </member>
        <member name="P:GSF.IO.Compression.PatternCompressor.CompressedBufferLength">
            <summary>
            Gets the amount of compressed data in the compressed buffer.
            </summary>
        </member>
        <member name="P:GSF.IO.Compression.PatternCompressor.MaxCompressedBufferLength">
            <summary>
            Gets or sets the maximum compressed buffer length.
            </summary>
            <remarks>
            The compressor will not write beyond the MaxCompressedBufferLength.
            Defaults to the full length of the compressed buffer.
            Set to -1 to return to the default.
            </remarks>
        </member>
        <member name="P:GSF.IO.Compression.PatternCompressor.CompressionStrength">
            <summary>
            Gets or sets the compression strength of the PatternCompressor.
            </summary>
            <remarks>
            When setting the compression strength, the PatternCompressor
            is automatically reset (the back buffer is emptied).
            </remarks>
        </member>
        <member name="T:GSF.IO.Compression.PatternDecompressor">
            <summary>
            Defines functions for decompression of data compressed by the PatternCompressor.
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.AugmentBuffer(System.Byte[])">
            <summary>
            Inserts the given data into the data buffer for decompression.
            </summary>
            <param name="data">The data to be inserted into the data buffer.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.AugmentBuffer(System.Byte[],System.Int32)">
            <summary>
            Inserts the given data into the data buffer for decompression.
            </summary>
            <param name="data">The data to be inserted into the data buffer.</param>
            <param name="dataLength">The amount of data to be taken from the given buffer and placed in the data buffer.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.AugmentBuffer(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Inserts the given data into the data buffer for decompression.
            </summary>
            <param name="data">The data to be inserted into the data buffer.</param>
            <param name="offset">The amount of data to be ignored at the beginning of the buffer.</param>
            <param name="dataLength">The amount of data to be taken from the given buffer and placed in the data buffer.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Byte[])">
            <summary>
            Decompresses enough bytes of data to fill up the <paramref name="buffer"/>.
            </summary>
            <param name="buffer">The buffer that holds the data.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="buffer"/> length must be a multiple of four.</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Byte[],System.Int32)">
            <summary>
            Decompresses <paramref name="length"/> bytes of data and places it in the <paramref name="buffer"/>.
            </summary>
            <param name="buffer">The buffer that holds the data.</param>
            <param name="length">The amount of data to be decompressed and written to the buffer. The value of this parameter must be a multiple of four.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="length"/> must be a multiple of four.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> exceeds <paramref name="buffer"/> array boundaries.</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Decompresses <paramref name="length"/> bytes of data and places it in the <paramref name="buffer"/> starting at <paramref name="offset"/>.
            </summary>
            <param name="buffer">The buffer that holds the data.</param>
            <param name="offset">The amount of data at the beginning of the buffer that will not be overwritten.</param>
            <param name="length">The amount of data to be decompressed and written to the buffer. The value of this parameter must be a multiple of four.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="length"/> must be a multiple of four.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="offset"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="length"/> exceeds <paramref name="buffer"/> array boundaries.</exception>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Double@)">
            <summary>
            Decompresses eight bytes of data and writes the data into a 64-bit floating point number.
            </summary>
            <param name="value">The 64-bit floating point number that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Single@)">
            <summary>
            Decompresses four bytes of data and writes the data into a 32-bit floating point number.
            </summary>
            <param name="value">The 32-bit floating point number that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Int64@)">
            <summary>
            Decompresses eight bytes of data and writes the data into a 64-bit signed integer.
            </summary>
            <param name="value">The 64-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.UInt64@)">
            <summary>
            Decompresses eight bytes of data and writes the data into a 64-bit unsigned integer.
            </summary>
            <param name="value">The 64-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Int32@)">
            <summary>
            Decompresses four bytes of data and writes the data into a 32-bit signed integer.
            </summary>
            <param name="value">The 32-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.UInt32@)">
            <summary>
            Decompresses four bytes of data and writes the data into a 32-bit unsigned integer.
            </summary>
            <param name="value">The 32-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Int16@)">
            <summary>
            Decompresses four bytes of data and writes the data into a 16-bit signed integer. The high-order bytes are discarded.
            </summary>
            <param name="value">The 16-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.UInt16@)">
            <summary>
            Decompresses four bytes of data and writes the data into a 16-bit unsigned integer. The high-order bytes are discarded.
            </summary>
            <param name="value">The 16-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Decompress(System.Byte@)">
            <summary>
            Decompresses four bytes of data and writes the data into an 8-bit integer. The high-order bytes are discarded.
            </summary>
            <param name="value">The 8-bit integer that the data is to be written to.</param>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.Reset">
            <summary>
            Resets the decompressor by flushing the back buffer. Subsequent calls
            to the Decompress methods will not be decompressed using previously
            decompressed values.
            </summary>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.EmptyBuffer">
            <summary>
            Clears out the data buffer so that subsequent calls to the Decompress
            methods do not use the data that was previously in the data buffer.
            </summary>
            <remarks>
            This method should not be called during normal operation, as data will
            be lost and the compressed stream will likely be corrupted. Only call
            this method if the stream has already been corrupted.
            </remarks>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.MaximumSizeDecompressed(System.Int32)">
            <summary>
            Given the size of a compressed buffer, provides the maximum possible size of the decompressed data.
            </summary>
            <param name="compressedLength">Size of the compressed buffer.</param>
            <returns>The maximum possible size of the data after decompression.</returns>
        </member>
        <member name="M:GSF.IO.Compression.PatternDecompressor.DecompressBuffer(System.Byte[],System.Int32,System.Int32,System.Int32)">
            <summary>
            Decompress a byte array containing a sequential list of compressed 32-bit structures (e.g., floating point numbers, integers or unsigned integers) using a patterned compression method.
            </summary>
            <param name="source">The <see cref="T:System.Byte"/> array containing compressed 32-bit values to be decompressed. Decompression will happen inline on this buffer.</param>
            <param name="startIndex">An <see cref="T:System.Int32"/> representing the start index of the byte array.</param>
            <param name="dataLength">The number of bytes in the buffer that represents actual data.</param>
            <param name="bufferLength">The number of bytes available for use in the buffer; actual buffer length must be at least large enough to fit the maximum size of the decompressed data. See <see cref="M:GSF.IO.Compression.PatternDecompressor.MaximumSizeDecompressed(System.Int32)"/>.</param>
            <returns>The new length of the buffer after compression, unless the data cannot be compressed. If the data cannot be compressed, the buffer will remain unchanged and zero will be returned.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="source"/> buffer cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="dataLength"/> must be greater than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bufferLength"/> must be at least as large as <paramref name="dataLength"/>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="bufferLength"/> must be at least as large as is necessary to fit the maximum possible size of the decompressed data.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">Actual length of <paramref name="source"/> buffer is less than specified <paramref name="bufferLength"/>.</exception>
            <remarks>
            <para>
            Decompression is performed inline. The source buffer must be large enough
            to contain the maximum possible size of the decompressed buffer. This
            maximum size can be obtained by using the <see cref="M:GSF.IO.Compression.PatternDecompressor.MaximumSizeDecompressed(System.Int32)"/>
            method.
            </para>
            
            <para>
            As an optimization this function is using pointers to native structures,
            as such the endian order decoding and encoding of the values will always
            be in the native endian order of the operating system.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.IO.Compression.PatternDecompressor.CompressionStrength">
            <summary>
            Gets the compression strength defined by the compressed stream.
            </summary>
        </member>
        <member name="P:GSF.IO.Compression.PatternDecompressor.DataBufferLength">
            <summary>
            Gets the length of the data left in the buffer.
            </summary>
        </member>
        <member name="T:GSF.IO.ExportDestination">
            <summary>
            Represents a destination location when exporting data using <see cref="T:GSF.IO.MultipleDestinationExporter"/>.
            </summary>
            <seealso cref="T:GSF.IO.MultipleDestinationExporter"/>
        </member>
        <member name="M:GSF.IO.ExportDestination.#ctor">
            <summary>
            Constructs a new <see cref="T:GSF.IO.ExportDestination"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.ExportDestination.#ctor(System.String,System.Boolean,System.String,System.String,System.String)">
            <summary>
            Constructs a new <see cref="T:GSF.IO.ExportDestination"/> given the specified parameters.
            </summary>
            <param name="destinationFile">Path and file name of export destination.</param>
            <param name="connectToShare">Determines whether or not to attempt network connection to share specified in <paramref name="destinationFile"/>.</param>
            <param name="domain">Domain used to authenticate network connection if <paramref name="connectToShare"/> is true.</param>
            <param name="userName">User name used to authenticate network connection if <paramref name="connectToShare"/> is true.</param>
            <param name="password">Password used to authenticate network connection if <paramref name="connectToShare"/> is true.</param>
        </member>
        <member name="M:GSF.IO.ExportDestination.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GSF.IO.ExportDestination"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:GSF.IO.ExportDestination"/>.</returns>
        </member>
        <member name="P:GSF.IO.ExportDestination.DestinationFile">
            <summary>
            Path and file name of export destination.
            </summary>
        </member>
        <member name="P:GSF.IO.ExportDestination.ConnectToShare">
            <summary>
            Determines whether or not to attempt network connection to share specified in <see cref="P:GSF.IO.ExportDestination.DestinationFile"/>.
            </summary>
            <remarks>
            This option is ignored under Mono deployments.
            </remarks>
        </member>
        <member name="P:GSF.IO.ExportDestination.Domain">
            <summary>
            Domain used to authenticate network connection if <see cref="P:GSF.IO.ExportDestination.ConnectToShare"/> is true.
            </summary>
            <remarks>
            This option is ignored under Mono deployments.
            </remarks>
        </member>
        <member name="P:GSF.IO.ExportDestination.UserName">
            <summary>
            User name used to authenticate network connection if <see cref="P:GSF.IO.ExportDestination.ConnectToShare"/> is true.
            </summary>
            <remarks>
            This option is ignored under Mono deployments.
            </remarks>
        </member>
        <member name="P:GSF.IO.ExportDestination.Password">
            <summary>
            Password used to authenticate network connection if <see cref="P:GSF.IO.ExportDestination.ConnectToShare"/> is true.
            </summary>
            <remarks>
            This option is ignored under Mono deployments.
            </remarks>
        </member>
        <member name="P:GSF.IO.ExportDestination.Share">
            <summary>
            Path root of <see cref="P:GSF.IO.ExportDestination.DestinationFile"/> (e.g., E:\ or \\server\share).
            </summary>
        </member>
        <member name="P:GSF.IO.ExportDestination.FileName">
            <summary>
            Path and filename of <see cref="P:GSF.IO.ExportDestination.DestinationFile"/> without drive or server share prefix.
            </summary>
        </member>
        <member name="T:GSF.IO.FilePath">
            <summary>
            Contains File and Path manipulation methods.
            </summary>
        </member>
        <member name="M:GSF.IO.FilePath.IsFilePatternMatch(System.String[],System.String,System.Boolean)">
            <summary>
            Determines whether the specified file name matches any of the given file specs (wildcards are defined as '*' or '?' characters).
            </summary>
            <param name="fileSpecs">The file specs used for matching the specified file name.</param>
            <param name="fileName">The file name to be tested against the specified file specs for a match.</param>
            <param name="ignoreCase"><c>true</c> to specify a case-insensitive match; otherwise <c>false</c>.</param>
            <returns><c>true</c> if the specified file name matches any of the given file specs; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.IsFilePatternMatch(System.String,System.String,System.Boolean)">
            <summary>
            Determines whether the specified file name matches the given file spec (wildcards are defined as '*' or '?' characters).
            </summary>
            <param name="fileSpec">The file spec used for matching the specified file name.</param>
            <param name="fileName">The file name to be tested against the specified file spec for a match.</param>
            <param name="ignoreCase"><c>true</c> to specify a case-insensitive match; otherwise <c>false</c>.</param>
            <returns><c>true</c> if the specified file name matches the given file spec; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.IsValidFileName(System.String)">
            <summary>
            Determines if the specified file name and path is valid.
            </summary>
            <param name="filePath">The file name with optional path to test for validity.</param>
            <returns><c>true</c> if the specified <paramref name="filePath"/> is a valid name; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetValidFileName(System.String,System.Char)">
            <summary>
            Gets a valid file name by replacing invalid file name characters with <paramref name="replaceWithCharacter"/>.
            </summary>
            <param name="filePath">File path to validate.</param>
            <param name="replaceWithCharacter">Character to replace invalid file name characters with. Set to '\0' to remove invalid file name characters.</param>
            <returns>A valid file name with no invalid file name characters.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetFileName(System.String)">
            <summary>
            Gets the file name and extension from the specified file path.
            </summary>
            <param name="filePath">The file path from which the file name and extension is to be obtained.</param>
            <returns>File name and extension if the file path has it; otherwise empty string.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetExtension(System.String)">
            <summary>
            Gets the extension from the specified file path.
            </summary>
            <param name="filePath">The file path from which the extension is to be obtained.</param>
            <returns>File extension.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetFileNameWithoutExtension(System.String)">
            <summary>
            Gets the file name without extension from the specified file path.
            </summary>
            <param name="filePath">The file path from which the file name is to be obtained.</param>
            <returns>File name without the extension if the file path has it; otherwise empty string.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetFileLength(System.String)">
            <summary>
            Gets the size of the specified file.
            </summary>
            <param name="fileName">Name of file whose size is to be retrieved.</param>
            <returns>The size of the specified file.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetFileList(System.String)">
            <summary>
            Gets a list of files under the specified path. Search wildcard pattern (c:\Data\*.dat) can be used for 
            including only the files matching the pattern or path wildcard pattern (c:\Data\*\*.dat) to indicate the 
            inclusion of files under all subdirectories in the list.
            </summary>
            <param name="path">The path for which a list of files is to be returned.</param>
            <returns>A list of files under the given path.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetFilePatternRegularExpression(System.String)">
            <summary>
            Gets a regular expression pattern that simulates wildcard matching for filenames (wildcards are defined as '*' or '?' characters).
            </summary>
            <param name="fileSpec">The file spec for which the regular expression pattern if to be generated.</param>
            <returns>Regular expression pattern that simulates wildcard matching for filenames.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetDirectoryName(System.String)">
            <summary>
            Gets the directory information from the specified file path.
            </summary>
            <param name="filePath">The file path from which the directory information is to be obtained.</param>
            <returns>Directory information.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetLastDirectoryName(System.String)">
            <summary>
            Gets the last directory name from a file path.
            </summary>
            <param name="filePath">The file path from where the last directory name is to be retrieved.</param>
            <returns>The last directory name from a file path.</returns>
            <remarks>
            <see cref="M:GSF.IO.FilePath.GetLastDirectoryName(System.String)"/> would return sub2 from c:\windows\sub2\filename.ext.
            </remarks>
        </member>
        <member name="M:GSF.IO.FilePath.GetAbsolutePath(System.String)">
            <summary>
            Gets the absolute file path for the specified file name or relative file path.
            </summary>
            <param name="filePath">File name or relative file path.</param>
            <returns>Absolute file path for the specified file name or relative file path.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.InApplicationPath(System.String)">
            <summary>
            Determines if the specified <paramref name="filePath"/> is contained with the current executable path.
            </summary>
            <param name="filePath">File name or relative file path.</param>
            <returns><c>true</c> if the specified <paramref name="filePath"/> is contained with the current executable path; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetApplicationDataFolder">
            <summary>
            Gets the path to the folder where data related to the current application can be stored.
            </summary>
            <returns>Path to the folder where data related to the current application can be stored.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.GetCommonApplicationDataFolder">
            <summary>
            Gets the path to the folder where data related to the current
            application can be stored as well as shared among different users.
            </summary>
            <returns>Path to the folder where data related to the current application can be stored.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.AddPathSuffix(System.String)">
            <summary>
            Makes sure path is suffixed with standard <see cref="F:System.IO.Path.DirectorySeparatorChar"/>.
            </summary>
            <param name="filePath">The file path to be suffixed.</param>
            <returns>Suffixed path.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.RemovePathSuffix(System.String)">
            <summary>
            Makes sure path is not suffixed with <see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/>.
            </summary>
            <param name="filePath">The file path to be unsuffixed.</param>
            <returns>Unsuffixed path.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.DropPathRoot(System.String)">
            <summary>
            Remove any path root present in the path.
            </summary>
            <param name="filePath">The file path whose root is to be removed.</param>
            <returns>The path with the root removed if it was present.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.TrimFileName(System.String,System.Int32)">
            <summary>
            Returns a file name, for display purposes, of the specified length using "..." to indicate a longer name.
            </summary>
            <param name="fileName">The file path to be trimmed.</param>
            <param name="length">The maximum length of the trimmed file path.</param>
            <returns>Trimmed file path.</returns>
            <remarks>
            Minimum value for the <paramref name="length" /> parameter is 12. 12 will be used for any value 
            specified as less than 12.
            </remarks>
        </member>
        <member name="M:GSF.IO.FilePath.GetUniqueFilePath(System.String)">
            <summary>
            Gets a unique file path for the given file by checking for name collisions and
            adding a sequence number to the end of the file name if there is a collision.
            </summary>
            <param name="originalFilePath">The path to the original file before adding the sequence number.</param>
            <returns>The unique path to the file.</returns>
            <remarks>
            This method is designed to handle the case where the user wishes to create a file in a folder
            with a given name when there is a possibility that the name is already taken. Using this method,
            it is possible to create files with names in the following format:
            
            <ul>
                <li>File.ext</li>
                <li>File (1).ext</li>
                <li>File (2).ext</li>
                <li>...</li>
            </ul>
            
            This method uses a linear search to find a unique file name, so it is suitable for situations where
            there are a small number of collisions for each file name. This will detect and fill gaps that can
            occur when files are deleted (for instance, if "File (1).ext" were deleted from the list above).
            </remarks>
        </member>
        <member name="M:GSF.IO.FilePath.GetUniqueFilePathWithBinarySearch(System.String)">
            <summary>
            Gets a unique file path for the given file by checking for name collisions and
            adding a sequence number to the end of the file name if there is a collision.
            </summary>
            <param name="originalFilePath">The path to the original file before adding the sequence number.</param>
            <returns>The unique path to the file.</returns>
            <remarks>
            This method is designed to handle the case where the user wishes to create a file in a folder
            with a given name when there is a possibility that the name is already taken. Using this method,
            it is possible to create files with names in the following format:
            
            <ul>
                <li>File.ext</li>
                <li>File (1).ext</li>
                <li>File (2).ext</li>
                <li>...</li>
            </ul>
            
            This method uses a binary search to find a unique file name, so it is suitable for situations where
            a large number of files will be created with the same file name, and the next unique file name needs
            to be found relatively quickly. It will not always detect gaps in the sequence numbers that can occur
            when files are deleted (for instance, if "File (1).ext" were deleted from the list above).
            </remarks>
        </member>
        <member name="M:GSF.IO.FilePath.TryGetReadLock(System.String)">
            <summary>
            Attempts to get read access on a file.
            </summary>
            <param name="fileName">The file to check for read access.</param>
            <returns>True if read access is obtained; false otherwise.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.TryGetReadLockExclusive(System.String)">
            <summary>
            Attempts to get read access on a file.
            </summary>
            <param name="fileName">The file to check for read access.</param>
            <returns>True if read access is obtained; false otherwise.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.TryGetWriteLock(System.String)">
            <summary>
            Attempts to get write access on a file.
            </summary>
            <param name="fileName">The file to check for write access.</param>
            <returns>True if write access is obtained; false otherwise.</returns>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForReadLock(System.String)">
            <summary>
            Waits for the default duration (5 seconds) for read access on a file.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain read access.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForReadLock(System.String,System.Double)">
            <summary>
            Waits for read access on a file for the specified number of seconds.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain read access.</param>
            <param name="secondsToWait">The time to wait for in seconds to obtain read access on a file. Set to zero to wait infinitely.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForReadLockExclusive(System.String)">
            <summary>
            Waits for the default duration (5 seconds) for read access on a file.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain read access.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForReadLockExclusive(System.String,System.Double)">
            <summary>
            Waits for read access on a file for the specified number of seconds.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain read access.</param>
            <param name="secondsToWait">The time to wait for in seconds to obtain read access on a file. Set to zero to wait infinitely.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForWriteLock(System.String)">
            <summary>
            Waits for the default duration (5 seconds) for write access on a file.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain write access.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitForWriteLock(System.String,System.Double)">
            <summary>
            Waits for write access on a file for the specified number of seconds.
            </summary>
            <param name="fileName">The name of the file to wait for to obtain write access.</param>
            <param name="secondsToWait">The time to wait for in seconds to obtain write access on a file. Set to zero to wait infinitely.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitTillExists(System.String)">
            <summary>
            Waits for the default duration (5 seconds) for a file to exist.
            </summary>
            <param name="fileName">The name of the file to wait for until it is created.</param>
        </member>
        <member name="M:GSF.IO.FilePath.WaitTillExists(System.String,System.Double)">
            <summary>
            Waits for a file to exist for the specified number of seconds.
            </summary>
            <param name="fileName">The name of the file to wait for until it is created.</param>
            <param name="secondsToWait">The time to wait for in seconds for the file to be created. Set to zero to wait infinitely.</param>
        </member>
        <member name="T:GSF.IO.FileProcessorEventArgs">
            <summary>
            Arguments to events triggered by the <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.FileProcessorEventArgs.#ctor(System.String,System.Boolean)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.IO.FileProcessorEventArgs"/> class.
            </summary>
            <param name="fullPath">The full path to the file to be processed.</param>
            <param name="alreadyProcessed">Flag indicating whether this file has been processed before.</param>
        </member>
        <member name="P:GSF.IO.FileProcessorEventArgs.FullPath">
            <summary>
            Gets the full path to the file to be processed.
            </summary>
        </member>
        <member name="P:GSF.IO.FileProcessorEventArgs.AlreadyProcessed">
            <summary>
            Gets the flag that indicates whether this file has been processed before.
            </summary>
        </member>
        <member name="T:GSF.IO.FileProcessor">
            <summary>
            Tracks files processed in a list of directories, and
            notifies when new files become available to be processed.
            </summary>
        </member>
        <member name="F:GSF.IO.FileProcessor.DefaultFilter">
            <summary>
            Default value for the <see cref="P:GSF.IO.FileProcessor.Filter"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.FileProcessor.DefaultTrackChanges">
            <summary>
            Default value for the <see cref="P:GSF.IO.FileProcessor.TrackChanges"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.FileProcessor.DefaultCachePath">
            <summary>
            Default value for the <see cref="P:GSF.IO.FileProcessor.CachePath"/> property.
            </summary>
        </member>
        <member name="M:GSF.IO.FileProcessor.#ctor(System.Guid)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.IO.FileProcessor"/> class.
            </summary>
            <param name="processorID">Identifies the file processor so that it can locate its processed file cache.</param>
        </member>
        <member name="M:GSF.IO.FileProcessor.AddTrackedDirectory(System.String)">
            <summary>
            Adds a directory to the list of directories tracked by this <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
            <param name="path">The path to the directory to be tracked.</param>
        </member>
        <member name="M:GSF.IO.FileProcessor.RemoveTrackedDirectory(System.String)">
            <summary>
            Removes a directory from the list of directories tracked by this <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
            <param name="path">The path to the directory to stop tracking.</param>
        </member>
        <member name="M:GSF.IO.FileProcessor.ClearTrackedDirectories">
            <summary>
            Empties the list of directories tracked by this <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.FileProcessor.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.IO.FileProcessor"/> object.
            </summary>
        </member>
        <member name="E:GSF.IO.FileProcessor.Processing">
            <summary>
            Event triggered when a file is to be processed.
            </summary>
        </member>
        <member name="E:GSF.IO.FileProcessor.Error">
            <summary>
            Event triggered when an unexpected error occurs during
            normal operation of the <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.FileProcessor.Filter">
            <summary>
            Gets or sets the filter used to determine whether a file should be processed.
            </summary>
        </member>
        <member name="P:GSF.IO.FileProcessor.TrackChanges">
            <summary>
            Gets or sets a flag that determines whether files should be processed on change.
            </summary>
        </member>
        <member name="P:GSF.IO.FileProcessor.CachePath">
            <summary>
            Gets or sets the path to the cache where the list of processed files will be persisted.
            </summary>
        </member>
        <member name="P:GSF.IO.FileProcessor.TrackedDirectories">
            <summary>
            Gets the list of directories currently being tracked by the <see cref="T:GSF.IO.FileProcessor"/>.
            </summary>
        </member>
        <member name="T:GSF.IO.InterprocessCache">
            <summary>
            Represents a serialized data cache that can be saved or read from multiple applications using inter-process synchronization.
            </summary>
            <remarks>
            Note that all file data in this class gets serialized to and from memory, as such, the design intention for this class is for
            use with smaller data sets such as serialized lists or dictionaries that need inter-process synchronized loading and saving.
            </remarks>
        </member>
        <member name="F:GSF.IO.InterprocessCache.DefaultMaximumRetryAttempts">
            <summary>
            Default maximum retry attempts allowed for loading <see cref="T:GSF.IO.InterprocessCache"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.InterprocessCache.DefaultRetryDelayInterval">
            <summary>
            Default wait interval, in milliseconds, before retrying load of <see cref="T:GSF.IO.InterprocessCache"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.IO.InterprocessCache"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.#ctor(System.Int32)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.IO.InterprocessCache"/> with the specified number of <paramref name="maximumConcurrentLocks"/>.
            </summary>
            <param name="maximumConcurrentLocks">Maximum concurrent reader locks to allow.</param>
        </member>
        <member name="M:GSF.IO.InterprocessCache.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.IO.InterprocessCache"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.IO.InterprocessCache"/> object.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.InterprocessCache"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.InterprocessCache.Save">
            <summary>
            Initiates inter-process synchronized cache file save.
            </summary>
            <remarks>
            Subclasses should always call <see cref="M:GSF.IO.InterprocessCache.WaitForLoad"/> before calling this method.
            </remarks>
        </member>
        <member name="M:GSF.IO.InterprocessCache.Load">
            <summary>
            Initiates inter-process synchronized cache file load.
            </summary>
            <remarks>
            Subclasses should always call <see cref="M:GSF.IO.InterprocessCache.WaitForLoad"/> before calling this method.
            </remarks>
        </member>
        <member name="M:GSF.IO.InterprocessCache.WaitForLoad">
            <summary>
            Blocks current thread and waits for any pending load to complete; wait time is <c><see cref="P:GSF.IO.InterprocessCache.RetryDelayInterval"/> * <see cref="P:GSF.IO.InterprocessCache.MaximumRetryAttempts"/></c>.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.WaitForLoad(System.Int32)">
            <summary>
            Blocks current thread and waits for specified <paramref name="millisecondsTimeout"/> for any pending load to complete.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
        </member>
        <member name="M:GSF.IO.InterprocessCache.WaitForSave">
            <summary>
            Blocks current thread and waits for any pending save to complete; wait time is <c><see cref="P:GSF.IO.InterprocessCache.RetryDelayInterval"/> * <see cref="P:GSF.IO.InterprocessCache.MaximumRetryAttempts"/></c>.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.WaitForSave(System.Int32)">
            <summary>
            Blocks current thread and waits for specified <paramref name="millisecondsTimeout"/> for any pending save to complete.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
        </member>
        <member name="M:GSF.IO.InterprocessCache.SaveFileData(System.IO.FileStream,System.Byte[])">
            <summary>
            Handles serialization of file to disk; virtual method allows customization (e.g., pre-save encryption and/or data merge).
            </summary>
            <param name="fileStream"><see cref="T:System.IO.FileStream"/> used to serialize data.</param>
            <param name="fileData">File data to be serialized.</param>
            <remarks>
            Consumers overriding this method should not directly call <see cref="P:GSF.IO.InterprocessCache.FileData"/> property to avoid potential dead-locks.
            </remarks>
        </member>
        <member name="M:GSF.IO.InterprocessCache.LoadFileData(System.IO.FileStream)">
            <summary>
            Handles deserialization of file from disk; virtual method allows customization (e.g., pre-load decryption and/or data merge).
            </summary>
            <param name="fileStream"><see cref="T:System.IO.FileStream"/> used to deserialize data.</param>
            <returns>Deserialized file data.</returns>
            <remarks>
            Consumers overriding this method should not directly call <see cref="P:GSF.IO.InterprocessCache.FileData"/> property to avoid potential dead-locks.
            </remarks>
        </member>
        <member name="M:GSF.IO.InterprocessCache.SynchronizedWrite(System.Object)">
            <summary>
            Synchronously writes file data when no reads are active.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.SynchronizedRead(System.Object)">
            <summary>
            Synchronously reads file data when no writes are active.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.RetrySynchronizedEvent(System.Exception,System.Int32)">
            <summary>
            Initiates a retry for specified event type.
            </summary>
            <param name="ex">Exception causing retry.</param>
            <param name="eventType">Event type to retry.</param>
        </member>
        <member name="M:GSF.IO.InterprocessCache.m_retryTimer_Elapsed(System.Object,System.Timers.ElapsedEventArgs)">
            <summary>
            Retries specified serialize or deserialize event in case of file I/O failures.
            </summary>
        </member>
        <member name="M:GSF.IO.InterprocessCache.m_fileWatcher_Changed(System.Object,System.IO.FileSystemEventArgs)">
            <summary>
            Reload file upon external modification.
            </summary>
            <param name="sender">The object that triggered the event.</param>
            <param name="e">An object which provides data for directory events.</param>
        </member>
        <member name="P:GSF.IO.InterprocessCache.FileName">
            <summary>
            Path and file name for the cache needing inter-process synchronization.
            </summary>
        </member>
        <member name="P:GSF.IO.InterprocessCache.FileData">
            <summary>
            Gets or sets file data for the cache to be saved or that has been loaded.
            </summary>
            <remarks>
            Setting value to <c>null</c> will create a zero-length file.
            </remarks>
        </member>
        <member name="P:GSF.IO.InterprocessCache.AutoSave">
            <summary>
            Gets or sets flag that determines if <see cref="T:GSF.IO.InterprocessCache"/> should automatically initiate a save when <see cref="P:GSF.IO.InterprocessCache.FileData"/> has been updated.
            </summary>
        </member>
        <member name="P:GSF.IO.InterprocessCache.ReloadOnChange">
            <summary>
            Gets or sets flag that enables system to monitor for changes in <see cref="P:GSF.IO.InterprocessCache.FileName"/> and automatically reload <see cref="P:GSF.IO.InterprocessCache.FileData"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.InterprocessCache.MaximumConcurrentLocks">
            <summary>
            Gets the maximum concurrent reader locks allowed.
            </summary>
        </member>
        <member name="P:GSF.IO.InterprocessCache.MaximumRetryAttempts">
            <summary>
            Maximum retry attempts allowed for loading or saving cache file data.
            </summary>
        </member>
        <member name="P:GSF.IO.InterprocessCache.RetryDelayInterval">
            <summary>
            Wait interval, in milliseconds, before retrying load or save of cache file data.
            </summary>
        </member>
        <member name="T:GSF.IO.IsamDataFileBase`1">
            <summary>
            An abstract class that defines the read/write capabilities for ISAM (Indexed Sequential Access Method) file.
            </summary>
            <typeparam name="T">
            <see cref="T:System.Type"/> of the records the file contains. This <see cref="T:System.Type"/> must implement the <see cref="T:GSF.Parsing.ISupportBinaryImage"/> interface.
            </typeparam>
            <remarks>
            <para>
            This ISAM implementation keeps all the records in memory, so it may not be suitable for very large files. Since data is stored
            in memory using a list, the maximum number of possible supported records will be 2,147,483,647 (i.e., Int32.MaxValue).
            </para>
            <para>
            See <a href="http://en.wikipedia.org/wiki/ISAM" target="_blank">http://en.wikipedia.org/wiki/ISAM</a> for more information on ISAM files.
            </para>
            </remarks>
            <example>
            This example shows a sample implementation of <see cref="T:GSF.IO.IsamDataFileBase`1"/>:
            <code>
            using System;
            using System.Text;
            using GSF;
            using GSF.IO;
            using GSF.Parsing;
            
            class Program
            {
                static void Main(string[] args)
                {
                    // Create a few test records.
                    TestIsamFileRecord r1 = new TestIsamFileRecord(1);
                    r1.Name = "TestRecord1";
                    r1.Value = double.MinValue;
                    r1.Description = "Test record with minimum double value";
                    TestIsamFileRecord r2 = new TestIsamFileRecord(2);
                    r2.Name = "TestRecord2";
                    r2.Value = double.MaxValue;
                    r2.Description = "Test record with maximum double value";
            
                    // Open ISAM file.
                    TestIsamFile testFile = new TestIsamFile();
                    testFile.FileName = "TestIsamFile.dat";
                    testFile.Open();
            
                    // Write test records.
                    testFile.Write(r1.Index, r1);
                    testFile.Write(r2.Index, r2);
            
                    // Read test records.
                    Console.WriteLine(testFile.Read(1));
                    Console.WriteLine(testFile.Read(2));
            
                    // Close ISAM file.
                    testFile.Close();
            
                    Console.ReadLine();
                }
            }
            
            class TestIsamFile : IsamDataFileBase&lt;TestIsamFileRecord&gt;
            {
                /// <summary>
                /// Size of a single file record.
                /// </summary>
                protected override int GetRecordSize()
                {
                    return TestIsamFileRecord.RecordLength;
                }
            
                /// <summary>
                /// Creates a new empty file record.
                /// </summary>
                protected override TestIsamFileRecord CreateNewRecord(int id)
                {
                    return new TestIsamFileRecord(id);
                }
            }
            
            class TestIsamFileRecord : ISupportBinaryImage
            {
                private int m_index;
                private string m_name;                  // 20  * 1 =  20
                private double m_value;                 // 1   * 8 =   8
                private string m_description;           // 100 * 1 = 100
                
                public const int RecordLength = 128;    // Total   = 128
            
                public TestIsamFileRecord(int recordIndex)
                {
                    m_index = recordIndex;
                    
                    Name = string.Empty;
                    Value = double.NaN;
                    Description = string.Empty;
                }
            
                /// <summary>
                /// 1-based index of the record.
                /// </summary>
                public int Index
                {
                    get { return m_index; }
                }
            
                /// <summary>
                /// Name of the record.
                /// </summary>
                public string Name
                {
                    get { return m_name; }
                    set { m_name = value.TruncateRight(20).PadRight(20); }
                }
            
                /// <summary>
                /// Value of the record.
                /// </summary>
                public double Value
                {
                    get { return m_value; }
                    set { m_value = value; }
                }
            
                /// <summary>
                /// Description of the record.
                /// </summary>
                public string Description
                {
                    get { return m_description; }
                    set { m_description = value.TruncateRight(100).PadRight(100); }
                }
            
                /// <summary>
                /// Serialized record length.
                /// </summary>
                public int BinaryLength
                {
                    get { return RecordLength; }
                }
            
                /// <summary>
                /// Serialized record data.
                /// </summary>
                public byte[] BinaryImage
                {
                    get
                    {
                        // Serialize TestIsamFileRecord into byte array.
                        byte[] image = new byte[RecordLength];
                        Buffer.BlockCopy(Encoding.ASCII.GetBytes(Name), 0, image, 0, 20);
                        Buffer.BlockCopy(BitConverter.GetBytes(Value), 0, image, 20, 8);
                        Buffer.BlockCopy(Encoding.ASCII.GetBytes(Description), 0, image, 28, 100);
            
                        return image;
                    }
                }
            
                /// <summary>
                /// Deserializes the record.
                /// </summary>
                public int Initialize(byte[] binaryImage, int startIndex, int length)
                {
                    if (length &gt;= RecordLength)
                    {
                        // Deserialize byte array into TestIsamFileRecord.
                        Name = Encoding.ASCII.GetString(binaryImage, startIndex, 20);
                        Value = BitConverter.ToDouble(binaryImage, startIndex + 20);
                        Description = Encoding.ASCII.GetString(binaryImage, startIndex + 28, 100);
                    }
                    else
                        throw new InvalidOperationException("Invalid record size, not enough data to deserialize record"); 
            
                    return RecordLength;
                }
            
                /// <summary>
                /// String representation of the record.
                /// </summary>
                public override string ToString()
                {
                    return string.Format("Name: {0}, Value: {1}, Description: {2}", Name, Value, Description);
                }
            }
            </code>
            </example>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultFileName">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.FileName"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultFileAccessMode">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.FileAccessMode"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultAutoSaveInterval">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.AutoSaveInterval"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultLoadOnOpen">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.LoadOnOpen"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultSaveOnClose">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.SaveOnClose"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultReloadOnModify">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.ReloadOnModify"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.IsamDataFileBase`1.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.IsamDataFileBase`1.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.IsamDataFileBase`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Finalize">
            <summary>
            Releases the unmanaged resources before the file is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.GetRecordSize">
            <summary>
            When overridden in a derived class, gets the size of a record (in bytes).
            </summary>
            <returns>Size of a record in bytes.</returns>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.CreateNewRecord(System.Int32)">
            <summary>
            When overridden in a derived class, returns a new empty record.
            </summary>
            <param name="recordIndex">1-based index of the new record.</param>
            <returns>New empty record.</returns>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Dispose">
            <summary>
            Releases all the resources used by the file.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Initialize">
            <summary>
            Initializes the file.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.IsamDataFileBase`1.Initialize"/> is to be called by user-code directly only if the file is not consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.SaveSettings">
            <summary>
            Saves settings of the file to the config file if the <see cref="P:GSF.IO.IsamDataFileBase`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.IsamDataFileBase`1.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.LoadSettings">
            <summary>
            Loads saved settings of the file from the config file if the <see cref="P:GSF.IO.IsamDataFileBase`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.IsamDataFileBase`1.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Open">
            <summary>
            Opens the file.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Close">
            <summary>
            Closes the file.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Load">
            <summary>
            Loads records from disk into memory.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Save">
            <summary>
            Saves records loaded in memory to disk.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.IsamDataFileBase`1.Save"/> is equivalent to <see cref="M:System.IO.FileStream.Flush"/> when records are not loaded in memory.
            </remarks>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Write(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Writes specified records to disk if records were not loaded in memory otherwise updates the records in memory.
            </summary>
            <param name="records">Records to be written.</param>
            <remarks>
            This operation will causes existing records to be deleted and replaced with the ones specified.
            </remarks>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Write(System.Int32,`0)">
            <summary>
            Writes specified record to disk if records were not loaded in memory otherwise updates the record in memory.
            </summary>
            <param name="recordIndex">1-based index of the record to be written.</param>
            <param name="record">Record to be written.</param>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Read">
            <summary>
            Reads file records from disk if records were not loaded in memory otherwise returns the records in memory.
            </summary>
            <returns>Records of the file.</returns>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Read(System.Int32)">
            <summary>
            Reads specified file record from disk if records were not loaded in memory otherwise returns the record in memory.
            </summary>
            <param name="recordIndex">1-based index of the record to be read.</param>
            <returns>Record with the specified ID if it exists; otherwise null.</returns>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.OnFileModified">
            <summary>
            Raises the <see cref="E:GSF.IO.IsamDataFileBase`1.FileModified"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.OnDataLoading">
            <summary>
            Raises the <see cref="E:GSF.IO.IsamDataFileBase`1.DataLoading"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.OnDataLoaded">
            <summary>
            Raises the <see cref="E:GSF.IO.IsamDataFileBase`1.DataLoaded"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.OnDataSaving">
            <summary>
            Raises the <see cref="E:GSF.IO.IsamDataFileBase`1.DataSaving"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.OnDataSaved">
            <summary>
            Raises the <see cref="E:GSF.IO.IsamDataFileBase`1.DataSaved"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the file and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.ReOpen">
            <summary>
            Re-opens the file if currently open.
            </summary>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.WriteToDisk(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Writes records to disk.
            </summary>
            <param name="records">Records to be written to disk.</param>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.WriteToDisk(System.Int32,`0)">
            <summary>
            Writes single record to disk.
            </summary>
            <param name="recordIndex">1-based index of the record to be written to disk.</param>
            <param name="record">Record to be written to disk.</param>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.ReadFromDisk">
            <summary>
            Reads all records from disk.
            </summary>
            <returns>Records from disk.</returns>
        </member>
        <member name="M:GSF.IO.IsamDataFileBase`1.ReadFromDisk(System.Int32)">
            <summary>
            Read single record from disk.
            </summary>
            <param name="recordIndex">1-based index of the record to be read.</param>
            <returns>Record from the disk.</returns>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.DataLoading">
            <summary>
            Occurs when data is being read from disk into memory.
            </summary>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.DataLoaded">
            <summary>
            Occurs when data has been read from disk into memory.
            </summary>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.DataSaving">
            <summary>
            Occurs when data is being saved from memory onto disk.
            </summary>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.DataSaved">
            <summary>
            Occurs when data has been saved from memory onto disk.
            </summary>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.FileModified">
            <summary>
            Occurs when file data on the disk is modified.
            </summary>
        </member>
        <member name="E:GSF.IO.IsamDataFileBase`1.Disposed">
            <summary>
            Occurs when the class has been disposed.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.FileName">
            <summary>
            Gets or sets the name of the file.
            </summary>
            <remarks>
            Changing the <see cref="P:GSF.IO.IsamDataFileBase`1.FileName"/> when the file is open will cause the file to be re-opened.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.FileAccessMode">
            <summary>
            Gets or sets the <see cref="T:System.IO.FileAccess"/> value to use when opening the file.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.AutoSaveInterval">
            <summary>
            Gets or sets the interval in milliseconds at which the records loaded in memory are to be persisted to disk.
            </summary>
            <remarks>
            <see cref="P:GSF.IO.IsamDataFileBase`1.AutoSaveInterval"/> will be effective only if records have been loaded in memory either manually 
            by calling the <see cref="M:GSF.IO.IsamDataFileBase`1.Load"/> method or automatically by settings <see cref="P:GSF.IO.IsamDataFileBase`1.LoadOnOpen"/> to true.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.LoadOnOpen">
            <summary>
            Gets or sets a boolean value that indicates whether records are to be loaded automatically in memory when 
            the file is opened.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.SaveOnClose">
            <summary>
            Gets or sets a boolean value that indicates whether records loaded in memory are to be persisted to disk 
            when the file is closed.
            </summary>
            <remarks>
            <see cref="P:GSF.IO.IsamDataFileBase`1.SaveOnClose"/> will be effective only if records have been loaded in memory either manually 
            by calling the <see cref="M:GSF.IO.IsamDataFileBase`1.Load"/> method or automatically by settings <see cref="P:GSF.IO.IsamDataFileBase`1.LoadOnOpen"/> to true.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.ReloadOnModify">
            <summary>
            Gets or sets a boolean value that indicates whether records loaded in memory are to be re-loaded when the 
            file is modified on disk.
            </summary>
            <remarks>
            <see cref="P:GSF.IO.IsamDataFileBase`1.ReloadOnModify"/> will be effective only if records have been loaded in memory either manually 
            by calling the <see cref="M:GSF.IO.IsamDataFileBase`1.Load"/> method or automatically by settings <see cref="P:GSF.IO.IsamDataFileBase`1.LoadOnOpen"/> to true.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the file settings are to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.SettingsCategory">
            <summary>
            Gets or sets the category under which the file settings are to be saved to the config file if the 
            <see cref="P:GSF.IO.IsamDataFileBase`1.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the file is currently enabled.
            </summary>
            <remarks>
            Setting <see cref="P:GSF.IO.IsamDataFileBase`1.Enabled"/> to true will open the file if it is closed, setting
            to false will close the file if it is open.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.IsOpen">
            <summary>
            Gets a boolean value that indicates whether the file is open.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.IsCorrupt">
            <summary>
            Gets a boolean value that indicates whether the file data on disk is corrupt.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.MemoryUsage">
            <summary>
            Gets the approximate memory consumption (in KB) of the file.
            </summary>
            <remarks>
            <see cref="P:GSF.IO.IsamDataFileBase`1.MemoryUsage"/> will be zero (0) unless records are loaded in memory.
            </remarks>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.RecordsOnDisk">
            <summary>
            Gets the number of file records on the disk.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.RecordsInMemory">
            <summary>
            Gets the number of file records loaded in memory.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.Name">
            <summary>
            Gets the unique identifier of the file.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.Status">
            <summary>
            Gets the descriptive status of the file.
            </summary>
        </member>
        <member name="P:GSF.IO.IsamDataFileBase`1.FileData">
            <summary>
            Gets the underlying <see cref="T:System.IO.FileStream"/> of the file.
            </summary>
            <remarks>
            Thread-safety Warning: A lock must be obtained on <see cref="P:GSF.IO.IsamDataFileBase`1.FileData"/> before accessing it.
            </remarks>
        </member>
        <member name="T:GSF.IO.LogFileFullOperation">
            <summary>
            Specifies the operation to be performed on the <see cref="T:GSF.IO.LogFile"/> when it is full.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFileFullOperation.Truncate">
            <summary>
            Truncates the existing entries in the <see cref="T:GSF.IO.LogFile"/> to make space for new entries.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFileFullOperation.Rollover">
            <summary>
            Rolls over to a new <see cref="T:GSF.IO.LogFile"/>, and keeps the full <see cref="T:GSF.IO.LogFile"/> for reference.
            </summary>
        </member>
        <member name="T:GSF.IO.LogFile">
             <summary>
             Represents a file that can be used for logging messages in real-time.
             </summary>
             <example>
             This example shows how to use <see cref="T:GSF.IO.LogFile"/> for logging messages:
             <code>
             using System;
             using GSF.IO;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     LogFile log = new LogFile();
                     log.Initialize();                       // Initialize the log file.
                     log.Open();                             // Open the log file.
                     log.WriteTimestampedLine("Test entry"); // Write message to the log file.
                     log.Flush();                            // Flush message to the log file.
                     log.Close();                            // Close the log file.
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="F:GSF.IO.LogFile.MinFileSize">
            <summary>
            Specifies the minimum size for a <see cref="T:GSF.IO.LogFile"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.MaxFileSize">
            <summary>
            Specifies the maximum size for a <see cref="T:GSF.IO.LogFile"/>.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultFileName">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.FileName"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultFileSize">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.FileSize"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultFileFullOperation">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.FileFullOperation"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultLogFilesDuration">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.LogFilesDuration"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultFlushTimerInterval">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.FlushTimerInterval"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.LogFile.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.LogFile.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="M:GSF.IO.LogFile.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.LogFile"/> class.
            </summary>
        </member>
        <member name="M:GSF.IO.LogFile.#ctor(System.ComponentModel.IContainer)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.LogFile"/> class.
            </summary>
            <param name="container"><see cref="T:System.ComponentModel.IContainer"/> object that contains the <see cref="T:GSF.IO.LogFile"/>.</param>
        </member>
        <member name="M:GSF.IO.LogFile.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.IO.LogFile"/> object.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.LogFile.Initialize"/> is to be called by user-code directly only if the <see cref="T:GSF.IO.LogFile"/> 
            object is not consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.BeginInit">
            <summary>
            Performs necessary operations before the <see cref="T:GSF.IO.LogFile"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.LogFile.BeginInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.IO.LogFile"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.EndInit">
            <summary>
            Performs necessary operations after the <see cref="T:GSF.IO.LogFile"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.LogFile.EndInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.IO.LogFile"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.SaveSettings">
            <summary>
            Saves settings for the <see cref="T:GSF.IO.LogFile"/> object to the config file if the <see cref="P:GSF.IO.LogFile.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.LogFile.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.LogFile.LoadSettings">
            <summary>
            Loads saved settings for the <see cref="T:GSF.IO.LogFile"/> object from the config file if the <see cref="P:GSF.IO.LogFile.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.LogFile.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.LogFile.Open">
            <summary>
            Opens the <see cref="T:GSF.IO.LogFile"/> for use if it is closed.
            </summary>
        </member>
        <member name="M:GSF.IO.LogFile.Close">
            <summary>
            Closes the <see cref="T:GSF.IO.LogFile"/> if it is open.
            </summary>
            <remarks>
            Forces queued log entries to be flushed to the <see cref="T:GSF.IO.LogFile"/>.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.Close(System.Boolean)">
            <summary>
            Closes the <see cref="T:GSF.IO.LogFile"/> if it is open.
            </summary>
            <param name="flushQueuedEntries">true, if queued log entries are to be written to the <see cref="T:GSF.IO.LogFile"/>; otherwise, false.</param>
        </member>
        <member name="M:GSF.IO.LogFile.Flush">
            <summary>
            Forces queued log entries to be written to the <see cref="T:GSF.IO.LogFile"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.LogFile.Write(System.String)">
            <summary>
            Queues the text for writing to the <see cref="T:GSF.IO.LogFile"/>.
            </summary>
            <param name="text">The text to be written to the <see cref="T:GSF.IO.LogFile"/>.</param>
        </member>
        <member name="M:GSF.IO.LogFile.WriteLine(System.String)">
            <summary>
            Queues the text for writing to the <see cref="T:GSF.IO.LogFile"/>.
            </summary>
            <param name="text">The text to be written to the log file.</param>
            <remarks>
            In addition to the specified text, a "newline" character will be appended to the text.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.WriteTimestampedLine(System.String)">
            <summary>
            Queues the text for writing to the log file.
            </summary>
            <param name="text">The text to be written to the log file.</param>
            <remarks>
            In addition to the specified text, a timestamp will be prepended, and a "newline" character will appended to the text.
            </remarks>
        </member>
        <member name="M:GSF.IO.LogFile.ReadText">
            <summary>
            Reads and returns the text from the <see cref="T:GSF.IO.LogFile"/>.
            </summary>
            <returns>The text read from the <see cref="T:GSF.IO.LogFile"/>.</returns>
        </member>
        <member name="M:GSF.IO.LogFile.ReadLines">
            <summary>
            Reads text from the <see cref="T:GSF.IO.LogFile"/> and returns a list of lines created by separating the text by the "newline"
            characters if and where present.
            </summary>
            <returns>A list of lines from the text read from the <see cref="T:GSF.IO.LogFile"/>.</returns>
        </member>
        <member name="M:GSF.IO.LogFile.OnFileFull">
            <summary>
            Raises the <see cref="E:GSF.IO.LogFile.FileFull"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.LogFile.OnLogException(System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.IO.LogFile.LogException"/> event.
            </summary>
            <param name="ex"><see cref="T:System.Exception"/> to send to <see cref="E:GSF.IO.LogFile.LogException"/> event.</param>
        </member>
        <member name="M:GSF.IO.LogFile.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.LogFile"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.LogFile.ReOpen">
            <summary>
            Re-opens the file if currently open.
            </summary>
        </member>
        <member name="E:GSF.IO.LogFile.FileFull">
            <summary>
            Occurs when the <see cref="T:GSF.IO.LogFile"/> is full.
            </summary>
        </member>
        <member name="E:GSF.IO.LogFile.LogException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered while writing entries to the <see cref="T:GSF.IO.LogFile"/>.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:System.Exception"/> encountered during writing of log entries.
            </remarks>
        </member>
        <member name="P:GSF.IO.LogFile.FileName">
            <summary>
            Gets or sets the name of the <see cref="T:GSF.IO.LogFile"/>, including the file extension.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.IO.LogFile.FileSize">
             <summary>
             Gets or sets the size of the <see cref="T:GSF.IO.LogFile"/> in MB.
             </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The value being assigned outside the <see cref="F:GSF.IO.LogFile.MinFileSize"/> and <see cref="F:GSF.IO.LogFile.MaxFileSize"/> range.</exception>
        </member>
        <member name="P:GSF.IO.LogFile.FileFullOperation">
            <summary>
            Gets or sets the type of operation to be performed when the <see cref="T:GSF.IO.LogFile"/> is full.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.LogFilesDuration">
            <summary>
            Gets or sets the time duration, in hours, to save the <see cref="T:GSF.IO.LogFile"/> .
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.FlushTimerInterval">
            <summary>
            Gets or sets the number of seconds of inactivity before the <see cref="T:GSF.IO.LogFile"/> automatically flushes the file stream.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the settings of <see cref="T:GSF.IO.LogFile"/> object are 
            to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.SettingsCategory">
            <summary>
            Gets or sets the category under which the settings of <see cref="T:GSF.IO.LogFile"/> object are to be saved
            to the config file if the <see cref="P:GSF.IO.LogFile.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.IO.LogFile.TextEncoding">
            <summary>
            Gets or sets the <see cref="T:System.Text.Encoding"/> to be used to encode the messages being logged.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.IO.LogFile"/> object is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.IsOpen">
            <summary>
            Gets a boolean value that indicates whether the <see cref="T:GSF.IO.LogFile"/> is open.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.IO.LogFile"/> object.
            </summary>
        </member>
        <member name="P:GSF.IO.LogFile.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.IO.LogFile"/> object.
            </summary>
        </member>
        <member name="T:GSF.IO.MultipleDestinationExporter">
             <summary>
             Handles the exporting of a file to multiple destinations that are defined in the config file.
             </summary>
             <remarks>
             This class is useful for updating the same file on multiple servers (e.g., load balanced web server).
             </remarks>
             <example>
             This example shows the use <see cref="T:GSF.IO.MultipleDestinationExporter"/> for exporting data to multiple locations:
             <code>
             using System;
             using GSF.IO;
            
             class Program
             {
                 static MultipleDestinationExporter s_exporter;
            
                 static void Main(string[] args)
                 {
                     s_exporter = new MultipleDestinationExporter();
                     s_exporter.Initialized += s_exporter_Initialized;
                     ExportDestination[] defaultDestinations = new ExportDestination[] 
                     {
                         new ExportDestination(@"\\server1\share\exportFile.txt", false, "domain", "user1", "password1"), 
                         new ExportDestination(@"\\server2\share\exportFile.txt", false, "domain", "user2", "password2")
                     };
                     // Initialize with the destinations where data is to be exported.
                     s_exporter.Initialize(defaultDestinations);
            
                     Console.ReadLine();
                 }
            
                 static void s_exporter_Initialized(object sender, EventArgs e)
                 {
                     // Export data to all defined locations after initialization.
                     s_exporter.ExportData("TEST DATA");
                 }
             }
             </code>
             This example shows the config file entry that can be used to specify the <see cref="T:GSF.IO.ExportDestination"/> 
             used by the <see cref="T:GSF.IO.MultipleDestinationExporter"/> when exporting data:
             <code>
             <![CDATA[
             <exportDestinations>
               <add name="ExportTimeout" value="-1" description="Total allowed time for all exports to execute in milliseconds."
                 encrypted="false" />
               <add name="ExportCount" value="2" description="Total number of export files to produce."
                 encrypted="false" />
               <add name="ExportDestination1" value="\\server1\share\" description="Root path for export destination. Use UNC path (\\server\share) with no trailing slash for network shares."
                 encrypted="false" />
               <add name="ExportDestination1.ConnectToShare" value="True" description="Set to True to attempt authentication to network share."
                 encrypted="false" />
               <add name="ExportDestination1.Domain" value="domain" description="Domain used for authentication to network share (computer name for local accounts)."
                 encrypted="false" />
               <add name="ExportDestination1.UserName" value="user1" description="User name used for authentication to network share."
                 encrypted="false" />
               <add name="ExportDestination1.Password" value="l2qlAwAPihJjoThH+G53BUxzYsIkTE2yNBHLtd1WA3hysDhwDB82ouJb9n35QtG8"
                 description="Encrypted password used for authentication to network share."
                 encrypted="true" />
               <add name="ExportDestination1.FileName" value="exportFile.txt" description="Path and file name of data export (do not include drive letter or UNC share). Prefix with slash when using UNC paths (\path\filename.txt)."
                 encrypted="false" />
               <add name="ExportDestination2" value="\\server2\share\" description="Root path for export destination. Use UNC path (\\server\share) with no trailing slash for network shares."
                 encrypted="false" />
               <add name="ExportDestination2.ConnectToShare" value="True" description="Set to True to attempt authentication to network share."
                 encrypted="false" />
               <add name="ExportDestination2.Domain" value="domain" description="Domain used for authentication to network share (computer name for local accounts)."
                 encrypted="false" />
               <add name="ExportDestination2.UserName" value="user2" description="User name used for authentication to network share."
                 encrypted="false" />
               <add name="ExportDestination2.Password" value="l2qlAwAPihJjoThH+G53BYT6BXHQr13D6Asdibl0rDmlrgRXvJmCwcP8uvkFRHr9"
                 description="Encrypted password used for authentication to network share."
                 encrypted="true" />
               <add name="ExportDestination2.FileName" value="exportFile.txt" description="Path and file name of data export (do not include drive letter or UNC share). Prefix with slash when using UNC paths (\path\filename.txt)."
                 encrypted="false" />
             </exportDestinations>
             ]]>
             </code>
             </example>
             <seealso cref="T:GSF.IO.ExportDestination"/>
        </member>
        <member name="F:GSF.IO.MultipleDestinationExporter.DefaultExportTimeout">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.MultipleDestinationExporter.ExportTimeout"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.MultipleDestinationExporter.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.MultipleDestinationExporter.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.MultipleDestinationExporter.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.MultipleDestinationExporter.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.MultipleDestinationExporter.DefaultMaximumRetryAttempts">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.MultipleDestinationExporter.MaximumRetryAttempts"/> property.
            </summary>
        </member>
        <member name="F:GSF.IO.MultipleDestinationExporter.DefaultRetryDelayInterval">
            <summary>
            Specifies the default value for the <see cref="P:GSF.IO.MultipleDestinationExporter.RetryDelayInterval"/> property.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.MultipleDestinationExporter"/> class.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.#ctor(System.ComponentModel.IContainer)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.MultipleDestinationExporter"/> class.
            </summary>
            <param name="container"><see cref="T:System.ComponentModel.IContainer"/> object that contains the <see cref="T:GSF.IO.MultipleDestinationExporter"/>.</param>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.IO.MultipleDestinationExporter"/> class.
            </summary>
            <param name="settingsCategory">The config file settings category under which the export destinations are defined.</param>
            <param name="exportTimeout">The total allowed time in milliseconds for each export to execute.</param>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.BeginInit">
            <summary>
            Performs necessary operations before the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.MultipleDestinationExporter.BeginInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.EndInit">
            <summary>
            Performs necessary operations after the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.IO.MultipleDestinationExporter.EndInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.SaveSettings">
            <summary>
            Saves settings for the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object to the config file if the <see cref="P:GSF.IO.MultipleDestinationExporter.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.MultipleDestinationExporter.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.LoadSettings">
            <summary>
            Loads saved settings for the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object from the config file if the <see cref="P:GSF.IO.MultipleDestinationExporter.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.IO.MultipleDestinationExporter.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.Initialize">
            <summary>
            Initializes (or reinitializes) <see cref="T:GSF.IO.MultipleDestinationExporter"/> from configuration settings.
            </summary>
            <remarks>
            If not being used as a component (i.e., user creates their own instance of this class), this method
            must be called in order to initialize exports.  Event if used as a component this method can be
            called at anytime to reinitialize the exports with new configuration information.
            </remarks>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.Initialize(System.Collections.Generic.IEnumerable{GSF.IO.ExportDestination})">
            <summary>
            Initializes (or reinitializes) <see cref="T:GSF.IO.MultipleDestinationExporter"/> from configuration settings.
            </summary>
            <param name="defaultDestinations">Provides a default set of export destinations if none exist in configuration settings.</param>
            <remarks>
            If not being used as a component (i.e., user creates their own instance of this class), this method
            must be called in order to initialize exports.  Even if used as a component this method can be
            called at anytime to reinitialize the exports with new configuration information.
            </remarks>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.OnInitialized">
            <summary>
            Raises the <see cref="E:GSF.IO.MultipleDestinationExporter.Initialized"/> event.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.OnStatusMessage(System.String,System.Object[])">
            <summary>
            Raises the <see cref="E:GSF.IO.MultipleDestinationExporter.StatusMessage"/> event.
            </summary>
            <param name="status">Status message to report.</param>
            <param name="args"><see cref="M:System.String.Format(System.String,System.Object[])"/> parameters used for status message.</param>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.OnProcessException(System.Exception)">
            <summary>
            Raises <see cref="E:GSF.IO.MultipleDestinationExporter.ProcessException"/> event.
            </summary>
            <param name="ex">Processing <see cref="T:System.Exception"/>.</param>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportData(System.String)">
            <summary>
            Start multiple file export.
            </summary>
            <param name="fileData">Text based data to export to each destination.</param>
            <remarks>
            This is assumed to be the full content of the file to export. This class does not queue data since
            the export is not intended to append to an existing file but rather replace an existing one.
            </remarks>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportData(System.Byte[])">
            <summary>
            Start multiple file export.
            </summary>
            <param name="fileData">Binary data to export to each destination.</param>
            <remarks>
            This is assumed to be the full content of the file to export. This class does not queue data since
            the export is not intended to append to an existing file but rather replace an existing one.
            </remarks>
        </member>
        <member name="E:GSF.IO.MultipleDestinationExporter.Initialized">
            <summary>
            Occurs when the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object has been initialized.
            </summary>
        </member>
        <member name="E:GSF.IO.MultipleDestinationExporter.StatusMessage">
            <summary>
            Occurs when status information for the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object is being reported.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the status message being reported by the <see cref="T:GSF.IO.MultipleDestinationExporter"/>.
            </remarks>
        </member>
        <member name="E:GSF.IO.MultipleDestinationExporter.ProcessException">
            <summary>
            Event is raised when there is an exception encountered while processing.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the exception that was thrown.
            </remarks>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportTimeout">
            <summary>
            Gets or sets the total allowed time in milliseconds for each export to execute.
            </summary>
            <remarks>
            Set to Timeout.Infinite (-1) for no timeout.
            </remarks>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.MaximumRetryAttempts">
            <summary>
            Gets or sets the maximum number of retries that will be attempted during an export if the export fails.
            </summary>
            <remarks>
            Total file export attempts = 1 + <see cref="P:GSF.IO.MultipleDestinationExporter.MaximumRetryAttempts"/>. Set to zero to only attempt export once.
            </remarks>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.RetryDelayInterval">
            <summary>
            Gets or sets the interval to wait, in milliseconds, before retrying an export if the export fails.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the settings of <see cref="T:GSF.IO.MultipleDestinationExporter"/> object are 
            to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.SettingsCategory">
            <summary>
            Gets or sets the category under which the settings of <see cref="T:GSF.IO.MultipleDestinationExporter"/> object are to be saved
            to the config file if the <see cref="P:GSF.IO.MultipleDestinationExporter.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.TextEncoding">
            <summary>
            Gets or sets the <see cref="T:System.Text.Encoding"/> to be used to encode text data being exported.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.TotalExports">
            <summary>
            Gets the total number exports performed successfully.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportDestinations">
            <summary>
            Gets a list of currently defined <see cref="T:GSF.IO.ExportDestination"/>.
            </summary>
            <remarks>
            Use the <see cref="M:GSF.IO.MultipleDestinationExporter.Initialize(System.Collections.Generic.IEnumerable{GSF.IO.ExportDestination})"/> method to change the export destination collection.
            </remarks>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.IO.MultipleDestinationExporter"/> object.
            </summary>
        </member>
        <member name="T:GSF.IO.MultipleDestinationExporter.ExportState">
            <summary>
            Defines state information for an export.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportState.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportState.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportState.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/> object.
            </summary>
        </member>
        <member name="M:GSF.IO.MultipleDestinationExporter.ExportState.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportState.SourceFileName">
            <summary>
            Gets or sets the source file name for the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportState.DestinationFileName">
            <summary>
            Gets or sets the destination file name for the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportState.WaitHandle">
            <summary>
            Gets or sets the event wait handle for the <see cref="T:GSF.IO.MultipleDestinationExporter.ExportState"/>.
            </summary>
        </member>
        <member name="P:GSF.IO.MultipleDestinationExporter.ExportState.Timeout">
            <summary>
            Gets or sets a flag that is used to determine if export process has timed out.
            </summary>
        </member>
        <member name="T:GSF.IO.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to simplify and standardize operations related to files and streams.
            </summary>
        </member>
        <member name="T:GSF.IO.StreamExtensions">
            <summary>
            Defines extension functions related to <see cref="T:System.IO.Stream"/> manipulation.
            </summary>
        </member>
        <member name="M:GSF.IO.StreamExtensions.CopyStream(System.IO.Stream,System.IO.Stream)">
            <summary>
            Copies input <see cref="T:System.IO.Stream"/> onto output <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="source">The input <see cref="T:System.IO.Stream"/>.</param>
            <param name="destination">The output <see cref="T:System.IO.Stream"/>.</param>
        </member>
        <member name="M:GSF.IO.StreamExtensions.ReadStream(System.IO.Stream)">
            <summary>
            Reads entire <see cref="T:System.IO.Stream"/> contents, and returns <see cref="T:System.Byte"/> array of data.
            </summary>
            <param name="source">The <see cref="T:System.IO.Stream"/> to be converted to <see cref="T:System.Byte"/> array.</param>
            <returns>An array of <see cref="T:System.Byte"/>.</returns>
        </member>
        <member name="T:GSF.LittleBinaryValue">
            <summary>
            Represents a little-endian ordered binary data sample stored as a byte array, 
            but implicitly castable to most common native types.
            </summary>
        </member>
        <member name="M:GSF.LittleBinaryValue.#ctor(System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new little-endian ordered binary value from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.LittleBinaryValue.#ctor(System.Byte[])">
            <summary>Creates a new little-endian ordered binary value from the given byte array.</summary>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <remarks>This constructor assumes a type code of Empty to represent "undefined".</remarks>
        </member>
        <member name="M:GSF.LittleBinaryValue.#ctor(System.TypeCode,System.Byte[],System.Int32,System.Int32)">
            <summary>Creates a new little-endian ordered binary value from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
            <param name="startIndex">The offset in the buffer where the data starts.</param>
            <param name="length">The number of data bytes that make up the binary value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> is outside the range of the <paramref name="buffer"/> -or-
            <paramref name="length"/> is less than 0 -or-
            <paramref name="startIndex"/> and <paramref name="length"/> do not specify a valid region in the <paramref name="buffer"/>
            </exception>
        </member>
        <member name="M:GSF.LittleBinaryValue.#ctor(System.TypeCode,System.Byte[])">
            <summary>Creates a new little-endian ordered binary value from the given byte array.</summary>
            <param name="typeCode">The type code of the native value that the binary value represents.</param>
            <param name="buffer">The buffer which contains the binary representation of the value.</param>
        </member>
        <member name="M:GSF.LittleBinaryValue.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.ConvertToType(System.TypeCode)">
            <summary>
            Returns a <see cref="T:GSF.LittleBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.
            </summary>
            <param name="typeCode">Desired <see cref="T:System.TypeCode"/> for destination value.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of source value converted to specified <see cref="T:System.TypeCode"/>.</returns>
            <exception cref="T:System.InvalidOperationException">Unable to convert binary value to specified type.</exception>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Byte">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Byte"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Byte"/>.</param>
            <returns>A <see cref="T:System.Byte"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Byte)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Byte"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Byte"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Byte"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Int16">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Int16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Int16"/>.</param>
            <returns>A <see cref="T:System.Int16"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Int16)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int16"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int16"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Int16"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.UInt16">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.UInt16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.UInt16"/>.</param>
            <returns>A <see cref="T:System.UInt16"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.UInt16)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt16"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt16"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.UInt16"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~GSF.Int24">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:GSF.Int24"/>.</param>
            <returns>A <see cref="T:GSF.Int24"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.Int24)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.Int24"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:GSF.Int24"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~GSF.UInt24">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:GSF.UInt24"/>.</param>
            <returns>A <see cref="T:GSF.UInt24"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.UInt24)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:GSF.UInt24"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Int32">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Int32"/>.</param>
            <returns>A <see cref="T:System.Int32"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Int32)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int32"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int32"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Int32"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.UInt32">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.UInt32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.UInt32"/>.</param>
            <returns>A <see cref="T:System.UInt32"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.UInt32)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt32"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt32"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.UInt32"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Int64"/>.</param>
            <returns>A <see cref="T:System.Int64"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Int64)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Int64"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Int64"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Int64"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.UInt64">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.UInt64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.UInt64"/>.</param>
            <returns>A <see cref="T:System.UInt64"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.UInt64)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.UInt64"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt64"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.UInt64"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Single">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Single"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Single"/>.</param>
            <returns>A <see cref="T:System.Single"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Single)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Single"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Single"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Single"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(GSF.LittleBinaryValue)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.LittleBinaryValue"/> to <see cref="T:System.Double"/>.
            </summary>
            <param name="value"><see cref="T:GSF.LittleBinaryValue"/> to convert to <see cref="T:System.Double"/>.</param>
            <returns>A <see cref="T:System.Double"/> representation of <see cref="T:GSF.LittleBinaryValue"/>.</returns>
        </member>
        <member name="M:GSF.LittleBinaryValue.op_Implicit(System.Double)~GSF.LittleBinaryValue">
            <summary>
            Implicitly converts <see cref="T:System.Double"/> to <see cref="T:GSF.LittleBinaryValue"/>.
            </summary>
            <param name="value"><see cref="T:System.Double"/> to convert to <see cref="T:GSF.LittleBinaryValue"/>.</param>
            <returns>A <see cref="T:GSF.LittleBinaryValue"/> representation of <see cref="T:System.Double"/>.</returns>
        </member>
        <member name="T:GSF.LittleEndian">
            <summary>
            Defines a set of little-endian byte order interoperability functions.
            </summary>
            <remarks>
            This class is setup to support aggressive in-lining of little endian conversions. Bounds
            will not be checked as part of this function call, if bounds are violated, the exception
            will be thrown at the <see cref="T:System.Array"/> level.
            </remarks>
        </member>
        <member name="M:GSF.LittleEndian.ToBoolean(System.Byte[],System.Int32)">
            <summary>
            Returns a <see cref="T:System.Boolean"/> value converted from one byte at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>true if the byte at startIndex in value is nonzero; otherwise, false.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToChar(System.Byte[],System.Int32)">
            <summary>
            Returns a Unicode character converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A character formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToDouble(System.Byte[],System.Int32)">
            <summary>
            Returns a double-precision floating point number converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A double-precision floating point number formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit signed integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit signed integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit signed integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit signed integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit signed integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit signed integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit signed integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit signed integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToSingle(System.Byte[],System.Int32)">
            <summary>
            Returns a single-precision floating point number converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A single-precision floating point number formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToUInt16(System.Byte[],System.Int32)">
            <summary>
            Returns a 16-bit unsigned integer converted from two bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 16-bit unsigned integer formed by two bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToUInt24(System.Byte[],System.Int32)">
            <summary>
            Returns a 24-bit unsigned integer converted from three bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit unsigned integer formed by three bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToUInt32(System.Byte[],System.Int32)">
            <summary>
            Returns a 32-bit unsigned integer converted from four bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 32-bit unsigned integer formed by four bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.ToUInt64(System.Byte[],System.Int32)">
            <summary>
            Returns a 64-bit unsigned integer converted from eight bytes, accounting for target endian-order, at a specified position in a byte array.
            </summary>
            <param name="value">An array of bytes (i.e., buffer containing binary image of value).</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 64-bit unsigned integer formed by eight bytes beginning at startIndex.</returns>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">startIndex is less than zero or greater than the length of value minus 1.</exception>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes``1(``0)">
            <summary>
            Returns the specified value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Boolean)">
            <summary>
            Returns the specified <see cref="T:System.Boolean"/> value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert.</param>
            <returns>An array of bytes with length 1.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Char)">
            <summary>
            Returns the specified Unicode character value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The Unicode character value to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Double)">
            <summary>
            Returns the specified double-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Int16)">
            <summary>
            Returns the specified 16-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(GSF.Int24)">
            <summary>
            Returns the specified 24-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Int32)">
            <summary>
            Returns the specified 32-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Int64)">
            <summary>
            Returns the specified 64-bit signed integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.Single)">
            <summary>
            Returns the specified single-precision floating point value as an array of bytes in the target endian-order.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.UInt16)">
            <summary>
            Returns the specified 16-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 2.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(GSF.UInt24)">
            <summary>
            Returns the specified 24-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 3.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.UInt32)">
            <summary>
            Returns the specified 32-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 4.</returns>
        </member>
        <member name="M:GSF.LittleEndian.GetBytes(System.UInt64)">
            <summary>
            Returns the specified 64-bit unsigned integer value as an array of bytes.
            </summary>
            <param name="value">The number to convert.</param>
            <returns>An array of bytes with length 8.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes``1(``0,System.Byte[],System.Int32)">
            <summary>
            Copies the specified primitive type value as an array of bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <typeparam name="T">Native value type to get bytes for.</typeparam>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> type is not primitive.</exception>
            <exception cref="T:System.InvalidOperationException">Cannot get bytes for <paramref name="value"/> type.</exception>
            <returns>Length of bytes copied into array based on size of <typeparamref name="T"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Boolean,System.Byte[],System.Int32)">
            <summary>
            Copies the specified <see cref="T:System.Boolean"/> value as an array of 1 byte in the target endian-order to the destination array.
            </summary>
            <param name="value">The <see cref="T:System.Boolean"/> value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Char,System.Byte[],System.Int32)">
            <summary>
            Copies the specified Unicode character value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The Unicode character value to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Double,System.Byte[],System.Int32)">
            <summary>
            Copies the specified double-precision floating point value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Int16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit signed integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(GSF.Int24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit signed integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Int32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit signed integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Int64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit signed integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.Single,System.Byte[],System.Int32)">
            <summary>
            Copies the specified single-precision floating point value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.UInt16,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 16-bit unsigned integer value as an array of 2 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(GSF.UInt24,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 24-bit unsigned integer value as an array of 3 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.UInt32,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 32-bit unsigned integer value as an array of 4 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.LittleEndian.CopyBytes(System.UInt64,System.Byte[],System.Int32)">
            <summary>
            Copies the specified 64-bit unsigned integer value as an array of 8 bytes in the target endian-order to the destination array.
            </summary>
            <param name="value">The number to convert and copy.</param>
            <param name="destinationArray">The destination buffer.</param>
            <param name="destinationIndex">The byte offset into <paramref name="destinationArray"/>.</param>
            <returns>Length of bytes copied into array based on size of <paramref name="value"/>.</returns>
        </member>
        <member name="T:GSF.NamespaceDoc">
            <summary>
            Contains fundamental classes that define commonly-used value and reference data types, interfaces, and basic type extension functions.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.CertificatePolicy">
            <summary>
            Represents a set of flags to be checked when validating remote certificates.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicy.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Net.Security.CertificatePolicy"/> class.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.CertificatePolicy.ValidPolicyErrors">
            <summary>
            Gets or sets the set of valid policy errors used when
            validating remote certificates using this policy.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.CertificatePolicy.ValidChainFlags">
            <summary>
            Gets or sets the set of valid chain flags used when
            validating remote certificates using this policy.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.CertificatePolicyChecker">
            <summary>
            Certificate checker that validates remote certificates based
            on certificate policies associated with each certificate.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.ICertificateChecker">
            <summary>
            Defines the interface for a generic X.509 certificate checker.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.ICertificateChecker.ValidateRemoteCertificate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            Verifies the remote certificate used for authentication.
            </summary>
            <param name="sender">An object that contains state information for this validation.</param>
            <param name="remoteCertificate">The certificate used to authenticate the remote party.</param>
            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
            <param name="errors">One or more errors associated with the remote certificate.</param>
            <returns>A flag that determines whether the specified certificate is accepted for authentication.</returns>
        </member>
        <member name="P:GSF.Net.Security.ICertificateChecker.ReasonForFailure">
            <summary>
            Gets the reason why the remote certificate validation
            failed, or null if certificate validation did not fail.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Net.Security.CertificatePolicyChecker"/> class.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.Trust(System.Security.Cryptography.X509Certificates.X509Certificate)">
            <summary>
            Trusts the given certificate, using the default policy for validation.
            </summary>
            <param name="certificate">The certificate to be trusted.</param>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.Trust(System.Security.Cryptography.X509Certificates.X509Certificate,GSF.Net.Security.CertificatePolicy)">
            <summary>
            Trusts the given certificate, using the given policy for validation.
            </summary>
            <param name="certificate">The certificate to be trusted.</param>
            <param name="policy">The policy by which to evaluate the certificate.</param>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.Distrust(System.Security.Cryptography.X509Certificates.X509Certificate)">
            <summary>
            Removes the given certificate from the list of trusted certificates.
            </summary>
            <param name="certificate">The certificate to be distrusted.</param>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.DistrustAll">
            <summary>
            Removes all certificates from the list of trusted certificates.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.ValidateRemoteCertificate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            Verifies the remote certificate used for authentication.
            </summary>
            <param name="sender">An object that contains state information for this validation.</param>
            <param name="remoteCertificate">The certificate used to authenticate the remote party.</param>
            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
            <param name="errors">One or more errors associated with the remote certificate.</param>
            <returns>A flag that determines whether the specified certificate is accepted for authentication.</returns>
        </member>
        <member name="M:GSF.Net.Security.CertificatePolicyChecker.GetTrustedCertificate(System.Security.Cryptography.X509Certificates.X509Certificate)">
            <summary>
            Searches the list of trusted certificates for a certificate that matches the given remote certificate. 
            </summary>
            <param name="remoteCertificate">Remote certificate to search for.</param>
            <returns>Trusted X509 certificate, if found; otherwise, <c>null</c>.</returns>
        </member>
        <member name="P:GSF.Net.Security.CertificatePolicyChecker.DefaultCertificatePolicy">
            <summary>
            Gets the default certificate policy used to validate
            certificates that do not have their own certificate policy.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.CertificatePolicyChecker.ReasonForFailure">
            <summary>
            Gets the reason why the remote certificate validation
            failed, or null if certificate validation did not fail.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.CertificateGenerator">
            <summary>
            The CertificateGenerator searches certificate stores for existing certificates and creates
            self-signed certificates if no matching certificate exists in any accessible store.
            It then generates a certificate file at the specified certificate path.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.CertificateGenerator.GenerateCertificate">
            <summary>
            Generates the certificate.
            </summary>
            <returns>The certificate that was generated by this certificate generator.</returns>
        </member>
        <member name="P:GSF.Net.Security.CertificateGenerator.Issuer">
            <summary>
            Gets or sets the name of the entity issuing the certificate.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.CertificateGenerator.SubjectNames">
            <summary>
            Gets or sets the subject names (common names)
            of the entity that this certificate identifies.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.CertificateGenerator.CertificatePath">
            <summary>
            Gets or sets the path to the certificate file
            that is generated by this certificate generator.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.SimpleCertificateChecker">
            <summary>
            Simple implementation of <see cref="T:GSF.Net.Security.ICertificateChecker"/>.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.SimpleCertificateChecker.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Net.Security.SimpleCertificateChecker"/> class.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.SimpleCertificateChecker.ValidateRemoteCertificate(System.Security.Cryptography.X509Certificates.X509Certificate)">
            <summary>
            Validates the given remote certificate to determine if the host is trusted.
            </summary>
            <param name="remoteCertificate">Certificate of the remote host.</param>
            <returns>True if the remote certificate is trusted; false otherwise.</returns>
        </member>
        <member name="M:GSF.Net.Security.SimpleCertificateChecker.ValidateRemoteCertificate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            Verifies the remote certificate used for authentication.
            </summary>
            <param name="sender">An object that contains state information for this validation.</param>
            <param name="remoteCertificate">The certificate used to authenticate the remote party.</param>
            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
            <param name="errors">One or more errors associated with the remote certificate.</param>
            <returns>A flag that determines whether the specified certificate is accepted for authentication.</returns>
        </member>
        <member name="P:GSF.Net.Security.SimpleCertificateChecker.TrustedCertificates">
            <summary>
            Gets the list of certificates on the system which are
            considered trusted when validating remote certificates.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.SimpleCertificateChecker.ValidPolicyErrors">
            <summary>
            Gets or sets the set of invalid policy errors.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.SimpleCertificateChecker.ValidChainFlags">
            <summary>
            Gets or sets the set of invalid chain flags.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.SimpleCertificateChecker.ReasonForFailure">
            <summary>
            Gets the reason why the remote certificate validation
            failed, or null if certificate validation did not fail.
            </summary>
        </member>
        <member name="T:GSF.Net.Security.SimplePolicyChecker">
            <summary>
            Simple implementation of <see cref="T:GSF.Net.Security.ICertificateChecker"/>.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.SimplePolicyChecker.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Net.Security.SimplePolicyChecker"/> class.
            </summary>
        </member>
        <member name="M:GSF.Net.Security.SimplePolicyChecker.ValidateRemoteCertificate(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
            <summary>
            Verifies the remote certificate used for authentication.
            </summary>
            <param name="sender">An object that contains state information for this validation.</param>
            <param name="remoteCertificate">The certificate used to authenticate the remote party.</param>
            <param name="chain">The chain of certificate authorities associated with the remote certificate.</param>
            <param name="errors">One or more errors associated with the remote certificate.</param>
            <returns>A flag that determines whether the specified certificate is accepted for authentication.</returns>
        </member>
        <member name="P:GSF.Net.Security.SimplePolicyChecker.ValidPolicyErrors">
            <summary>
            Gets or sets the set of invalid policy errors.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.SimplePolicyChecker.ValidChainFlags">
            <summary>
            Gets or sets the set of invalid chain flags.
            </summary>
        </member>
        <member name="P:GSF.Net.Security.SimplePolicyChecker.ReasonForFailure">
            <summary>
            Gets the reason why the remote certificate validation
            failed, or null if certificate validation did not fail.
            </summary>
        </member>
        <member name="T:GSF.Net.Smtp.Mail">
             <summary>
             A wrapper class to the <see cref="T:System.Net.Mail.MailMessage"/> class that simplifies sending mail messages.
             </summary>
             <example>
             This example shows how to send an email message with attachment:
             <code>
             using System;
             using GSF.Net.Smtp;
            
             class Program
             {
                 static void Main(string[] args)
                 {
                     Mail email = new Mail("sender@email.com", "recipient@email.com", "smtp.email.com");
                     email.Subject = "Test Message";
                     email.Body = "This is a test message.";
                     email.IsBodyHtml = true;
                     email.Attachments = @"c:\attachment.txt";
                     email.Send();
                     email.Dispose();
            
                     Console.ReadLine();
                 }
             }
             </code>
             </example>
        </member>
        <member name="F:GSF.Net.Smtp.Mail.DefaultSmtpServer">
            <summary>
            Default <see cref="P:GSF.Net.Smtp.Mail.SmtpServer"/> to be used if one is not specified.
            </summary>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Net.Smtp.Mail"/> class.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Net.Smtp.Mail"/> class.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
            <param name="smtpServer">The name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Net.Smtp.Mail"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Net.Smtp.Mail"/> object.
            </summary>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Net.Smtp.Mail"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Send">
            <summary>
            Send the <see cref="T:GSF.Net.Smtp.Mail"/> message with <see cref="P:GSF.Net.Smtp.Mail.Attachments"/> to the <see cref="P:GSF.Net.Smtp.Mail.ToRecipients"/>, 
            <see cref="P:GSF.Net.Smtp.Mail.CcRecipients"/> and <see cref="P:GSF.Net.Smtp.Mail.BccRecipients"/> using the specified <see cref="P:GSF.Net.Smtp.Mail.SmtpServer"/>.
            </summary>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Send(System.String,System.String,System.String,System.String,System.Boolean,System.String)">
            <summary>
            Sends a <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
            <param name="subject">The subject of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="body">The body of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="isBodyHtml">true if the <see cref="T:GSF.Net.Smtp.Mail"/> message body is to be formated as HTML; otherwise false.</param>
            <param name="smtpServer">The name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Send(System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String)">
            <summary>
            Sends a <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
            <param name="ccRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message carbon copy (CC) recipients.</param>
            <param name="bccRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message blank carbon copy (BCC) recipients.</param>
            <param name="subject">The subject of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="body">The body of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="isBodyHtml">true if the <see cref="T:GSF.Net.Smtp.Mail"/> message body is to be formated as HTML; otherwise false.</param>
            <param name="smtpServer">The name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Send(System.String,System.String,System.String,System.String,System.Boolean,System.String,System.String)">
            <summary>
            Sends a <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
            <param name="subject">The subject of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="body">The body of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="isBodyHtml">true if the <see cref="T:GSF.Net.Smtp.Mail"/> message body is to be formated as HTML; otherwise false.</param>
            <param name="attachments">A comma-separated or semicolon-seperated list of file names to be attached to the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="smtpServer">The name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
        </member>
        <member name="M:GSF.Net.Smtp.Mail.Send(System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.String,System.String)">
            <summary>
            Sends a <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
            <param name="from">The e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.</param>
            <param name="toRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.</param>
            <param name="ccRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message carbon copy (CC) recipients.</param>
            <param name="bccRecipients">A comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message blank carbon copy (BCC) recipients.</param>
            <param name="subject">The subject of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="body">The body of the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="isBodyHtml">true if the <see cref="T:GSF.Net.Smtp.Mail"/> message body is to be formated as HTML; otherwise false.</param>
            <param name="attachments">A comma-separated or semicolon-seperated list of file names to be attached to the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
            <param name="smtpServer">The name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.</param>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.From">
            <summary>
            Gets or sets the e-mail address of the <see cref="T:GSF.Net.Smtp.Mail"/> message sender.
            </summary>
            <exception cref="T:System.ArgumentNullException">Value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.ToRecipients">
            <summary>
            Gets or sets the comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message recipients.
            </summary>
            <exception cref="T:System.ArgumentNullException">Value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.CcRecipients">
            <summary>
            Gets or sets the comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message carbon copy (CC) recipients.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.BccRecipients">
            <summary>
            Gets or sets the comma-separated or semicolon-seperated e-mail address list of the <see cref="T:GSF.Net.Smtp.Mail"/> message blank carbon copy (BCC) recipients.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.Subject">
            <summary>
            Gets or sets the subject of the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.Body">
            <summary>
            Gets or sets the body of the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.SmtpServer">
            <summary>
            Gets or sets the name or IP address of the SMTP server to be used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
            <exception cref="T:System.ArgumentNullException">Value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.Attachments">
            <summary>
            Gets or sets the comma-separated or semicolon-separated list of file names to be attached to the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.IsBodyHtml">
            <summary>
            Gets or sets a boolean value that indicating whether the <see cref="T:GSF.Net.Smtp.Mail"/> message <see cref="P:GSF.Net.Smtp.Mail.Body"/> is to be formatted as HTML.
            </summary>
        </member>
        <member name="P:GSF.Net.Smtp.Mail.Client">
            <summary>
            Gets the <see cref="T:System.Net.Mail.SmtpClient"/> object used for sending the <see cref="T:GSF.Net.Smtp.Mail"/> message.
            </summary>
        </member>
        <member name="T:GSF.Net.Smtp.NamespaceDoc">
            <summary>
            Contains classes used to simplify and standardize operations related to sending e-mail messages.
            </summary>
        </member>
        <member name="T:GSF.NtpTimeTag">
            <summary>
            Represents a standard Network Time Protocol (NTP) timetag.
            </summary>
            <remarks>
            As recommended by RFC-2030, all NTP timestamps earlier than 3h 14m 08s UTC on 20 January 1968
            are reckoned from 6h 28m 16s UTC on 7 February 2036. This gives the <see cref="T:GSF.NtpTimeTag"/>
            class a functioning range of 1968-01-20 03:14:08 to 2104-02-26 09:42:23.
            </remarks>
        </member>
        <member name="T:GSF.TimeTagBase">
            <summary>
            Represents the base class for alternate timetag implementations.
            </summary>
        </member>
        <member name="M:GSF.TimeTagBase.#ctor(System.Int64,System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.TimeTagBase"/>, given number base time (in ticks) and seconds since base time.
            </summary>
            <param name="baseDateOffsetTicks">Ticks of timetag base.</param>
            <param name="seconds">Number of seconds since base time.</param>
        </member>
        <member name="M:GSF.TimeTagBase.#ctor(System.Int64,GSF.Ticks)">
            <summary>
            Creates a new <see cref="T:GSF.TimeTagBase"/>, given standard .NET <see cref="T:System.DateTime"/>.
            </summary>
            <param name="baseDateOffsetTicks">Ticks of timetag base.</param>
            <param name="timestamp">Timestamp in <see cref="T:GSF.Ticks"/> used to create timetag from.</param>
        </member>
        <member name="M:GSF.TimeTagBase.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a new <see cref="T:GSF.TimeTagBase"/> from serialization parameters.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with populated with data.</param>
            <param name="context">The source <see cref="T:System.Runtime.Serialization.StreamingContext"/> for this deserialization.</param>
        </member>
        <member name="M:GSF.TimeTagBase.ToDateTime">
            <summary>
            Returns standard .NET <see cref="T:System.DateTime"/> representation for timetag.
            </summary>
            <returns>A <see cref="T:System.DateTime"/>.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.ToString">
            <summary>
            Returns basic textual representation for timetag.
            </summary>
            <remarks>
            Format is "yyyy-MM-dd HH:mm:ss.fff" so that textual representation can be sorted in the
            correct chronological order.
            </remarks>
            <returns>A <see cref="T:System.String"/> value representing the timetag.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.ToString(System.String)">
            <summary>
            Returns textual representation for timetag in the specified <paramref name="format"/>.
            </summary>
            <param name="format">Format of text output.</param>
            <returns><see cref="T:System.String"/> of textual representation for timetag.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.ToString(System.IFormatProvider)">
            <summary>
            Returns textual representation for timetag using the specified <paramref name="provider"/>.
            </summary>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <returns><see cref="T:System.String"/> of textual representation for timetag.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.ToString(System.String,System.IFormatProvider)">
            <summary>
            Returns textual representation for timetag in the specified <paramref name="format"/> using 
            the specified <paramref name="provider"/>.
            </summary>
            <param name="format">Format of text output.</param>
            <param name="provider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
            <returns><see cref="T:System.String"/> of textual representation for timetag.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.CompareTo(GSF.TimeTagBase)">
            <summary>
            Compares the <see cref="T:GSF.TimeTagBase"/> with another <see cref="T:GSF.TimeTagBase"/>.
            </summary>
            <param name="other">The <see cref="T:GSF.TimeTagBase"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>A 32-bit signed integer that indicates the relative order of the objects being compared.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.CompareTo(System.DateTime)">
            <summary>
            Compares the <see cref="T:GSF.TimeTagBase"/> with a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="other">The <see cref="T:System.DateTime"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>A 32-bit signed integer that indicates the relative order of the objects being compared.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.CompareTo(System.Object)">
            <summary>
            Compares the <see cref="T:GSF.TimeTagBase"/> with the specified <see cref="T:System.Object"/>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>A 32-bit signed integer that indicates the relative order of the objects being compared.</returns>
            <exception cref="T:System.ArgumentException"><see cref="T:System.Object"/> is not an <see cref="T:GSF.TimeTagBase"/> or a <see cref="T:System.DateTime"/>.</exception>
        </member>
        <member name="M:GSF.TimeTagBase.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>
            true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>;
            otherwise, false.
            </returns>
            <exception cref="T:System.ArgumentException"><see cref="T:System.Object"/> is not an <see cref="T:GSF.TimeTagBase"/>.</exception>
        </member>
        <member name="M:GSF.TimeTagBase.Equals(GSF.TimeTagBase)">
            <summary>
            Determines whether the specified <see cref="T:GSF.TimeTagBase"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>.
            </summary>
            <param name="other">The <see cref="T:GSF.TimeTagBase"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>
            true if the specified <see cref="T:GSF.TimeTagBase"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>;
            otherwise, false.
            </returns>
        </member>
        <member name="M:GSF.TimeTagBase.Equals(System.DateTime)">
            <summary>
            Determines whether the specified <see cref="T:System.DateTime"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>.
            </summary>
            <param name="other">The <see cref="T:System.DateTime"/> to compare with the current <see cref="T:GSF.TimeTagBase"/>.</param>
            <returns>
            true if the specified <see cref="T:System.DateTime"/> is equal to the current <see cref="T:GSF.TimeTagBase"/>;
            otherwise, false.
            </returns>
        </member>
        <member name="M:GSF.TimeTagBase.GetHashCode">
            <summary>
            Serves as a hash function for the current <see cref="T:GSF.TimeTagBase"/>.
            </summary>
            <returns>A hash code for the current <see cref="T:GSF.TimeTagBase"/>.</returns>
            <remarks>Hash code based on number of seconds timetag represents.</remarks>
        </member>
        <member name="M:GSF.TimeTagBase.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize the target object.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination <see cref="T:System.Runtime.Serialization.StreamingContext"/> for this serialization.</param>
        </member>
        <member name="M:GSF.TimeTagBase.op_Equality(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_Equality(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_Equality(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_Inequality(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is not equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is not equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_Inequality(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is not equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is not equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_Inequality(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is not equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is not equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThan(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is less than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThan(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is less than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThan(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is less than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThanOrEqual(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThanOrEqual(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_LessThanOrEqual(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is less than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThan(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThan(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThan(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThanOrEqual(GSF.TimeTagBase,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThanOrEqual(System.DateTime,GSF.TimeTagBase)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="M:GSF.TimeTagBase.op_GreaterThanOrEqual(GSF.TimeTagBase,System.DateTime)">
            <summary>
            Returns true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>.
            </summary>
            <param name="value1">Value 1 in the comparision.</param>
            <param name="value2">Value 2 in the comparision.</param>
            <returns>true if <paramref name="value1"/> is greater than or equal to <paramref name="value2"/>; otherwise false.</returns>
        </member>
        <member name="P:GSF.TimeTagBase.Value">
            <summary>
            Gets or sets number of seconds (including any fractional seconds) since base time.
            </summary>
        </member>
        <member name="P:GSF.TimeTagBase.BaseDateOffsetTicks">
            <summary>
            Gets ticks representing the absolute minimum time of this timetag implementation.
            </summary>
        </member>
        <member name="M:GSF.NtpTimeTag.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.NtpTimeTag"/>, given number of seconds since 1/1/1900.
            </summary>
            <param name="seconds">Number of seconds since 1/1/1900.</param>
        </member>
        <member name="M:GSF.NtpTimeTag.#ctor(System.UInt32,System.UInt32)">
            <summary>
            Creates a new <see cref="T:GSF.NtpTimeTag"/>, given number of seconds and fractional seconds since 1/1/1900.
            </summary>
            <param name="seconds">Number of seconds since 1/1/1900.</param>
            <param name="fraction">Number of fractional seconds, in whole picoseconds.</param>
        </member>
        <member name="M:GSF.NtpTimeTag.#ctor(System.UInt64)">
            <summary>
            Creates a new <see cref="T:GSF.NtpTimeTag"/>, given 64-bit NTP timestamp.
            </summary>
            <param name="timestamp">NTP timestamp containing number of seconds since 1/1/1900 in high-word and fractional seconds in low-word.</param>
        </member>
        <member name="M:GSF.NtpTimeTag.#ctor(GSF.Ticks)">
            <summary>
            Creates a new <see cref="T:GSF.NtpTimeTag"/>, given specified <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="timestamp">Timestamp in <see cref="T:GSF.Ticks"/> to create Unix timetag from (minimum valid date is 1/1/1900).</param>
            <remarks>
            This constructor will accept a <see cref="T:System.DateTime"/> parameter since <see cref="T:GSF.Ticks"/> is implicitly castable to a <see cref="T:System.DateTime"/>.
            </remarks>
        </member>
        <member name="M:GSF.NtpTimeTag.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a new <see cref="T:GSF.NtpTimeTag"/> from serialization parameters.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with populated with data.</param>
            <param name="context">The source <see cref="T:System.Runtime.Serialization.StreamingContext"/> for this deserialization.</param>
        </member>
        <member name="F:GSF.NtpTimeTag.BaseTicks">
            <summary>
            Number of ticks since 1/1/1900.
            </summary>
            <remarks>
            NTP dates are measured as the number of seconds since 1/1/1900.
            </remarks>
        </member>
        <member name="F:GSF.NtpTimeTag.AlternateBaseTicks">
            <summary>
            Number of ticks since since 2/7/2036 at 6h 28m 16s UTC when MSB is set.
            </summary>
            <remarks>
            According to RFC-2030, NTP dates can also be measured as the number of seconds since 2/7/2036
            at 6h 28m 16s UTC if MSB is set.
            </remarks>
        </member>
        <member name="M:GSF.NtpTimeTag.GetBaseDateOffsetTicks(System.Double)">
            <summary>
            Gets proper NTP offset based on <paramref name="seconds"/> value, see RFC-2030.
            </summary>
            <param name="seconds">Seconds value.</param>
            <returns>Proper NTP offset.</returns>
        </member>
        <member name="M:GSF.NtpTimeTag.GetBaseDateOffsetTicks(GSF.Ticks)">
            <summary>
            Gets proper NTP offset based on <paramref name="timestamp"/> value, see RFC-2030.
            </summary>
            <param name="timestamp"><see cref="T:GSF.Ticks"/> timestamp value.</param>
            <returns>Proper NTP offset.</returns>
        </member>
        <member name="M:GSF.NtpTimeTag.GetBaseDateOffsetTicks(System.UInt32)">
            <summary>
            Gets proper NTP offset based on most significant byte on <paramref name="seconds"/> value, see RFC-2030.
            </summary>
            <param name="seconds">NTP seconds timestamp value.</param>
            <returns>Proper NTP offset.</returns>
        </member>
        <member name="M:GSF.NtpTimeTag.FromTicks(GSF.Ticks)">
            <summary>
            Gets 64-bit NTP timestamp given <paramref name="timestamp"/> in <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="timestamp">Timestamp in <see cref="T:GSF.Ticks"/>.</param>
            <returns>Seconds in NTP from given <paramref name="timestamp"/>.</returns>
        </member>
        <member name="P:GSF.NtpTimeTag.Timestamp">
            <summary>
            Gets 64-bit NTP timestamp.
            </summary>
        </member>
        <member name="T:GSF.NumericalAnalysis.CurveFit">
            <summary>
            Linear regression algorithm.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.CurveFit.Compute(System.Int32,System.Collections.Generic.IEnumerable{System.Windows.Point})">
            <summary>
            Computes linear regression over given values.
            </summary>
            <param name="polynomialOrder">An <see cref="T:System.Int32"/> for the polynomial order.</param>
            <param name="values">A list of values.</param>
            <returns>An array of <see cref="T:System.Double"/> values.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.CurveFit.Compute(System.Int32,System.Collections.Generic.IList{System.Double},System.Collections.Generic.IList{System.Double})">
            <summary>
            Computes linear regression over given values.
            </summary>
            <param name="polynomialOrder">An <see cref="T:System.Int32"/> for the polynomial order.</param>
            <param name="xValues">A list of <see cref="T:System.Double"/> x-values.</param>
            <param name="yValues">A list of <see cref="T:System.Double"/> y-values.</param>
            <returns>An array of <see cref="T:System.Double"/> values.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.CurveFit.LeastSquares(System.Double[],System.Double[],System.Double[],System.Double@,System.Double@,System.Double@)">
            <summary>
            Uses least squares linear regression to estimate the coefficients a, b, and c
            from the given (x,y,z) data points for the equation z = a + bx + cy.
            </summary>
            <param name="zValues">z-value array</param>
            <param name="xValues">x-value array</param>
            <param name="yValues">y-value array</param>
            <param name="a">the out a coefficient</param>
            <param name="b">the out b coefficient</param>
            <param name="c">the out c coefficient</param>
        </member>
        <member name="T:GSF.NumericalAnalysis.Euclidean">
            <summary>
            Contains an implementation of greatest common denominator
            and least common multiple using the Euclidean algorithm.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Collections.Generic.IEnumerable{System.Int32})">
            <summary>
            Gets the greatest common denominator of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Int32[])">
            <summary>
            Gets the greatest common denominator of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Int32,System.Int32)">
            <summary>
            Gets the greatest common denominator of the given integers.
            </summary>
            <param name="a">The first of the given integers.</param>
            <param name="b">The second of the given integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Collections.Generic.IEnumerable{System.Int64})">
            <summary>
            Gets the greatest common denominator of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Int64[])">
            <summary>
            Gets the greatest common denominator of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.GreatestCommonDenominator(System.Int64,System.Int64)">
            <summary>
            Gets the greatest common denominator of the given integers.
            </summary>
            <param name="a">The first of the given integers.</param>
            <param name="b">The second of the given integers.</param>
            <returns>The greatest common denominator.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Collections.Generic.IEnumerable{System.Int32})">
            <summary>
            Gets the least common multiple of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Int32[])">
            <summary>
            Gets the least common multiple of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Int32,System.Int32)">
            <summary>
            Gets the least common multiple of the given integers.
            </summary>
            <param name="a">The first of the given integers.</param>
            <param name="b">The second of the given integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Collections.Generic.IEnumerable{System.Int64})">
            <summary>
            Gets the least common multiple of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Int64[])">
            <summary>
            Gets the least common multiple of all the integers in the source collection.
            </summary>
            <param name="source">The collection of integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="M:GSF.NumericalAnalysis.Euclidean.LeastCommonMultiple(System.Int64,System.Int64)">
            <summary>
            Gets the least common multiple of the given integers.
            </summary>
            <param name="a">The first of the given integers.</param>
            <param name="b">The second of the given integers.</param>
            <returns>The least common multiple.</returns>
        </member>
        <member name="T:GSF.NumericalAnalysis.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to calculate common numerical operations such as curve fits and standard deviations.
            </summary>
        </member>
        <member name="T:GSF.NumericalAnalysis.NumericalAnalysisExtensions">
            <summary>Defines extension functions related to numerical analysis over a sequence of data.</summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.NumericalAnalysisExtensions.StandardDeviation(System.Collections.Generic.IEnumerable{System.Double})">
            <summary>Computes the standard deviation over a sequence of double values.</summary>
            <param name="source">Source data sample.</param>
            <returns>The standard deviation of the sequence.</returns>
            <exception cref="T:System.ArgumentNullException">source is null</exception>
        </member>
        <member name="M:GSF.NumericalAnalysis.NumericalAnalysisExtensions.StandardDeviation(System.Collections.Generic.IEnumerable{System.Decimal})">
            <summary>Computes the standard deviation over a sequence of decimal values.</summary>
            <param name="source">Source data sample.</param>
            <returns>The standard deviation of the sequence.</returns>
            <exception cref="T:System.ArgumentNullException">source is null</exception>
        </member>
        <member name="M:GSF.NumericalAnalysis.NumericalAnalysisExtensions.StandardDeviation(System.Collections.Generic.IEnumerable{System.Single})">
            <summary>Computes the standard deviation over a sequence of float values.</summary>
            <param name="source">Source data sample.</param>
            <returns>The standard deviation of the sequence.</returns>
            <exception cref="T:System.ArgumentNullException">source is null</exception>
        </member>
        <member name="T:GSF.NumericalAnalysis.RealTimeSlope">
            <summary>Calculates slope for a real-time continuous data stream.</summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.RealTimeSlope.#ctor">
            <summary>
            Creates a default instance of the real-time slope calculation class. Must call Initialize before using.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.RealTimeSlope.#ctor(System.Int32,System.Double)">
            <summary>Creates a new instance of the real-time slope calculation class.</summary>
            <param name="regressionInterval">Time span over which to calculate slope.</param>
            <param name="estimatedRefreshInterval">Estimated data points per second.</param>
        </member>
        <member name="M:GSF.NumericalAnalysis.RealTimeSlope.Calculate(System.Double,System.Double)">
            <summary>Adds a new x, y data pair to continuous data set.</summary>
            <param name="x">New x-axis value.</param>
            <param name="y">New y-axis value.</param>
        </member>
        <member name="M:GSF.NumericalAnalysis.RealTimeSlope.Initialize(System.Int32,System.Double)">
            <summary>
            Initializes real-time slope calculation.
            </summary>
            <param name="regressionInterval">Time span over which to calculate slope.</param>
            <param name="estimatedRefreshInterval">Estimated data points per second.</param>
        </member>
        <member name="E:GSF.NumericalAnalysis.RealTimeSlope.Status">
            <summary>
            Raised when new status messages come from the <see cref="T:GSF.NumericalAnalysis.RealTimeSlope"/>.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is status message from the <see cref="T:GSF.NumericalAnalysis.RealTimeSlope"/>.
            </remarks>
        </member>
        <member name="E:GSF.NumericalAnalysis.RealTimeSlope.Recalculated">
            <summary>
            Raised when new real-time <see cref="P:GSF.NumericalAnalysis.RealTimeSlope.Slope"/> has been calculated and is available.
            </summary>
        </member>
        <member name="P:GSF.NumericalAnalysis.RealTimeSlope.Slope">
            <summary>Gets current calculated slope for data set.</summary>
        </member>
        <member name="P:GSF.NumericalAnalysis.RealTimeSlope.RunTime">
            <summary>Gets run-time, in seconds, for which slope has maintained a continuous positive or negative
            trend.</summary>
        </member>
        <member name="T:GSF.NumericalAnalysis.SineWave">
            <summary>
            Represents a sine wave of the form <c>y=A*sin(ω*t+Φ)+δ</c>.
            </summary>
        </member>
        <member name="F:GSF.NumericalAnalysis.SineWave.TwoPi">
            <summary>
            2 * pi
            </summary>
        </member>
        <member name="F:GSF.NumericalAnalysis.SineWave.Amplitude">
            <summary>
            Amplitude (A) of the sine wave.
            </summary>
        </member>
        <member name="F:GSF.NumericalAnalysis.SineWave.Frequency">
            <summary>
            Frequency (ω) of the sine wave, in Hz.
            </summary>
        </member>
        <member name="F:GSF.NumericalAnalysis.SineWave.Phase">
            <summary>
            Phase (Φ) shift of the sine wave.
            </summary>
        </member>
        <member name="F:GSF.NumericalAnalysis.SineWave.Bias">
            <summary>
            Vertical offset (δ) of the sine wave.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.SineWave.CalculateY(System.Double)">
            <summary>
            Calculates the y-value for the given time.
            </summary>
            <param name="t">The time, in seconds.</param>
            <returns><c>A*sin(ω*t+Φ)+δ</c></returns>
        </member>
        <member name="T:GSF.NumericalAnalysis.WaveFit">
            <summary>
            Linear regression algorithm for sine waves.
            </summary>
        </member>
        <member name="M:GSF.NumericalAnalysis.WaveFit.SineFit(System.Double[],System.Double[],System.Double)">
            <summary>
            Uses least squares linear regression to calculate the best fit sine wave for the given data.
            </summary>
            <param name="yValues">The y values of the data points.</param>
            <param name="tValues">The time values of the data points, in seconds.</param>
            <param name="frequency">The frequency of the sine wave, in Hz.</param>
            <returns>A <see cref="T:GSF.NumericalAnalysis.SineWave"/> approximated from the given data points.</returns>
        </member>
        <member name="T:GSF.NumericExtensions">
            <summary>Defines extension functions related to numbers.</summary>
        </member>
        <member name="M:GSF.NumericExtensions.NotZero``1(``0)">
            <summary>Ensures parameter passed to function is not zero. Returns -1
            if <paramref name="source">source</paramref> is zero.</summary>
            <param name="source">Value to test for zero.</param>
            <typeparam name="T">Return type used for immediate expression</typeparam>
            <returns>A non-zero value.</returns>
        </member>
        <member name="M:GSF.NumericExtensions.NotZero``1(``0,``0)">
            <summary>Ensures parameter passed to function is not zero.</summary>
            <param name="source">Value to test for zero.</param>
            <param name="nonZeroReturnValue">Value to return if <paramref name="source">source</paramref> is
            zero.</param>
            <typeparam name="T">Return type used for immediate expression</typeparam>
            <returns>A non-zero value.</returns>
            <remarks>To optimize performance, this function does not validate that the notZeroReturnValue is not
            zero.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotEqualTo``1(``0,``0,``0)">
            <summary>Ensures test parameter passed to function is not equal to the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notEqualToValue">Value that represents the undesired value (e.g., zero).</param>
            <param name="alternateValue">Value to return if <paramref name="source">source</paramref> is equal
            to the undesired value.</param>
            <typeparam name="T">Structure or class that implements IEquatable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not equal to notEqualToValue.</returns>
            <remarks>To optimize performance, this function does not validate that the notEqualToValue is not equal
            to the alternateValue.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotLessThan``1(``0,``0)">
            <summary>Ensures test parameter passed to function is not less than the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notLessThanValue">Value that represents the lower limit for the source. This value
            is returned if source is less than notLessThanValue.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not less than notLessThanValue.</returns>
            <remarks>If source is less than notLessThanValue, then notLessThanValue is returned.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotLessThan``1(``0,``0,``0)">
            <summary>Ensures test parameter passed to function is not less than the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notLessThanValue">Value that represents the lower limit for the source.</param>
            <param name="alternateValue">Value to return if <paramref name="source">source</paramref> is
            less than <paramref name="notLessThanValue">notLessThanValue</paramref>.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not less than notLessThanValue.</returns>
            <remarks>To optimize performance, this function does not validate that the notLessThanValue is not
            less than the alternateValue.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotLessThanOrEqualTo``1(``0,``0,``0)">
            <summary>Ensures test parameter passed to function is not less than or equal to the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notLessThanOrEqualToValue">Value that represents the lower limit for the source.</param>
            <param name="alternateValue">Value to return if <paramref name="source">source</paramref> is
            less than or equal to <paramref name="notLessThanOrEqualToValue">notLessThanOrEqualToValue</paramref>.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not less than or equal to notLessThanOrEqualToValue.</returns>
            <remarks>To optimize performance, this function does not validate that the notLessThanOrEqualToValue is
            not less than or equal to the alternateValue.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotGreaterThan``1(``0,``0)">
            <summary>Ensures test parameter passed to function is not greater than the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notGreaterThanValue">Value that represents the upper limit for the source. This
            value is returned if source is greater than notGreaterThanValue.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not greater than notGreaterThanValue.</returns>
            <remarks>If source is greater than notGreaterThanValue, then notGreaterThanValue is returned.</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotGreaterThan``1(``0,``0,``0)">
            <summary>Ensures test parameter passed to function is not greater than the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notGreaterThanValue">Value that represents the upper limit for the source.</param>
            <param name="alternateValue">Value to return if <paramref name="source">source</paramref> is
            greater than <paramref name="notGreaterThanValue">notGreaterThanValue</paramref>.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not greater than notGreaterThanValue.</returns>
            <remarks>To optimize performance, this function does not validate that the notGreaterThanValue is
            not greater than the alternateValue</remarks>
        </member>
        <member name="M:GSF.NumericExtensions.NotGreaterThanOrEqualTo``1(``0,``0,``0)">
            <summary>Ensures test parameter passed to function is not greater than or equal to the specified value.</summary>
            <param name="source">Value to test.</param>
            <param name="notGreaterThanOrEqualToValue">Value that represents the upper limit for the source.</param>
            <param name="alternateValue">Value to return if <paramref name="source">source</paramref> is
            greater than or equal to <paramref name="notGreaterThanOrEqualToValue">notGreaterThanOrEqualToValue</paramref>.</param>
            <typeparam name="T">Structure or class that implements IComparable(Of T) (e.g., Double, Single,
            Integer, etc.).</typeparam>
            <returns>A value not greater than or equal to notGreaterThanOrEqualToValue.</returns>
            <remarks>To optimize performance, this function does not validate that the notGreaterThanOrEqualToValue
            is not greater than or equal to the alternateValue.</remarks>
        </member>
        <member name="T:GSF.ObjectState`1">
            <summary>
            A serializable class that can be used to track the current and previous state of an object.
            </summary>
            <typeparam name="TState">Type of the state to track.</typeparam>
        </member>
        <member name="M:GSF.ObjectState`1.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ObjectState`1"/> class.
            </summary>
            <param name="objectName">The text label for the object whose state is being tracked.</param>
        </member>
        <member name="M:GSF.ObjectState`1.#ctor(System.String,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ObjectState`1"/> class.
            </summary>
            <param name="objectName">The text label for the object whose state is being tracked.</param>
            <param name="currentState">The current state of the object.</param>
        </member>
        <member name="M:GSF.ObjectState`1.#ctor(System.String,`0,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.ObjectState`1"/> class.
            </summary>
            <param name="objectName">The text label for the object whose state is being tracked.</param>
            <param name="currentState">The current state of the object.</param>
            <param name="previousState">The previous state of the object.</param>
        </member>
        <member name="P:GSF.ObjectState`1.ObjectName">
            <summary>
            Gets or sets a text label for the object whose state is being tracked.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is a null or empty string.</exception>
        </member>
        <member name="P:GSF.ObjectState`1.CurrentState">
            <summary>
            Gets or sets the current state of the object.
            </summary>
        </member>
        <member name="P:GSF.ObjectState`1.PreviousState">
            <summary>
            Gets or sets the previous state of the object.
            </summary>
        </member>
        <member name="T:GSF.Parsing.BinaryImageBase">
            <summary>
            Defines a base class that represents binary images for parsing or generation in terms of a header, body and footer.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Initializes object by parsing the specified <paramref name="buffer"/> containing a binary image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <paramref name="length"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <paramref name="length"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <remarks>
            This method is not typically overridden since it is parses the header, body and footer images in sequence.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.ParseHeaderImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the binary header image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.ParseBodyImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the binary body image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.ParseFooterImage(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses the binary footer image.
            </summary>
            <param name="buffer">Buffer containing binary image to parse.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start parsing.</param>
            <param name="length">Valid number of bytes within <paramref name="buffer"/> from <paramref name="startIndex"/>.</param>
            <returns>The number of bytes used for initialization in the <paramref name="buffer"/> (i.e., the number of bytes parsed).</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.GenerateBinaryImage(System.Byte[],System.Int32)">
            <summary>
            Generates binary image of the object and copies it into the given buffer, for <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="buffer"/> is null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="startIndex"/> or <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> is less than 0 -or- 
            <paramref name="startIndex"/> and <see cref="P:GSF.Parsing.ISupportBinaryImage.BinaryLength"/> will exceed <paramref name="buffer"/> length.
            </exception>
            <remarks>
            This property is not typically overridden since it is the generates the combination of the header, body and footer images.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.GenerateHeaderImage(System.Byte[],System.Int32)">
            <summary>
            Generates the binary header image and copies it into the given buffer, for <see cref="P:GSF.Parsing.BinaryImageBase.HeaderLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.GenerateBodyImage(System.Byte[],System.Int32)">
            <summary>
            Generates the binary body image and copies it into the given buffer, for <see cref="P:GSF.Parsing.BinaryImageBase.BodyLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageBase.GenerateFooterImage(System.Byte[],System.Int32)">
            <summary>
            Generates the binary footer image and copies it into the given buffer, for <see cref="P:GSF.Parsing.BinaryImageBase.FooterLength"/> bytes.
            </summary>
            <param name="buffer">Buffer used to hold generated binary image of the source object.</param>
            <param name="startIndex">0-based starting index in the <paramref name="buffer"/> to start writing.</param>
            <returns>The number of bytes written to the <paramref name="buffer"/>.</returns>
            <remarks>
            This method is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageBase.BinaryLength">
            <summary>
            Gets the length of the <see cref="T:GSF.Parsing.BinaryImageBase"/> object.
            </summary>
            <remarks>
            This property is not typically overridden since it is the sum of the header, body and footer lengths.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageBase.HeaderLength">
            <summary>
            Gets the length of the header portion of the <see cref="T:GSF.Parsing.BinaryImageBase"/> object.
            </summary>
            <remarks>
            This property is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageBase.BodyLength">
            <summary>
            Gets the length of the body portion of the <see cref="T:GSF.Parsing.BinaryImageBase"/> object.
            </summary>
            <remarks>
            This property is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageBase.FooterLength">
            <summary>
            Gets the length of the footer portion of the <see cref="T:GSF.Parsing.BinaryImageBase"/> object.
            </summary>
            <remarks>
            This property is typically overridden by a specific protocol implementation.
            </remarks>
        </member>
        <member name="T:GSF.Parsing.BinaryImageParserBase">
            <summary>
            This class defines the fundamental functionality for parsing any stream of binary data.
            </summary>
            <remarks>
            This parser is designed as a write-only stream such that data can come from any source.
            </remarks>
        </member>
        <member name="T:GSF.Parsing.IBinaryImageParser">
            <summary>
            This interface represents the protocol independent representation of a streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.IBinaryImageParser.Start">
            <summary>
            Start the streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.IBinaryImageParser.Stop">
            <summary>
            Stops the streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.IBinaryImageParser.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes onto the <see cref="T:GSF.Parsing.IBinaryImageParser"/> stream for parsing.
            </summary>
            <param name="buffer">An array of bytes. This method copies count bytes from buffer to the current stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
        </member>
        <member name="E:GSF.Parsing.IBinaryImageParser.DataDiscarded">
            <summary>
            Occurs when data image fails deserialization due to an exception.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the remaining portion of the binary image that failed to parse.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.IBinaryImageParser.ParsingException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered while attempting to parse data.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:System.Exception"/> encountered while parsing data.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.IBinaryImageParser.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the data parser is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.Parsing.IBinaryImageParser.TotalProcessedBuffers">
            <summary>
            Gets the total number of buffer images processed so far.
            </summary>
        </member>
        <member name="F:GSF.Parsing.BinaryImageParserBase.DefaultProtocolSyncBytes">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Parsing.BinaryImageParserBase.ProtocolSyncBytes"/> property.
            </summary>
        </member>
        <member name="F:GSF.Parsing.BinaryImageParserBase.StreamInitialized">
            <summary>
            Tracks if data stream has been initialized.
            </summary>
            <remarks>
            Only relevant if <see cref="P:GSF.Parsing.BinaryImageParserBase.ProtocolUsesSyncBytes"/> is true.
            </remarks>
        </member>
        <member name="F:GSF.Parsing.BinaryImageParserBase.UnparsedBuffer">
            <summary>
            Remaining unparsed buffer from last parsing execution, if any.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> class.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Start">
            <summary>
            Start the streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Stop">
            <summary>
            Stops the streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Parse(GSF.Parsing.ISupportBinaryImage)">
            <summary>
            Parses the object implementing the <see cref="T:GSF.Parsing.ISupportBinaryImage"/> interface.
            </summary>
            <param name="image">Object to be parsed that implements the <see cref="T:GSF.Parsing.ISupportBinaryImage"/> interface.</param>
            <remarks>
            This function takes the binary image from <see cref="T:GSF.Parsing.ISupportBinaryImage"/> and writes the buffer to the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> stream for parsing.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Writes a sequence of bytes onto the stream for parsing.
            </summary>
            <param name="buffer">An array of bytes. This method copies count bytes from buffer to the current stream.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Flush">
            <summary>
            When overridden in a derived class, clears all buffers for this stream and causes any buffered data
            to be written to the underlying device.
            </summary>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>
            The parser is designed as a write only stream, so this method is not implemented.
            </summary>
            <exception cref="T:System.NotImplementedException">Cannot read from WriteOnly stream.</exception>
            <param name="buffer">Array of <see cref="T:System.Byte"/>s.</param>
            <param name="count">An <see cref="T:System.Int32"/> value for the offset.</param>
            <param name="offset">An <see cref="T:System.Int32"/> value for the count.</param>
            <returns>An <see cref="T:System.Int32"/> as the number of bytes read. Well. It would, if implemented.</returns>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            The parser is designed as a write only stream, so this method is not implemented.
            </summary>
            <exception cref="T:System.NotImplementedException">WriteOnly stream has no position.</exception>
            <param name="offset">A <see cref="T:System.Int64"/> value for the offset.</param>
            <param name="origin">A <see cref="T:System.IO.SeekOrigin"/>.</param>
            <returns>Returns a <see cref="T:System.Int64"/> value indicating the point that was sought.</returns>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.SetLength(System.Int64)">
            <summary>
            The parser is designed as a write only stream, so this method is not implemented.
            </summary>
            <exception cref="T:System.NotImplementedException">WriteOnly stream has no length.</exception>
            <param name="value">A <see cref="T:System.Int64"/> value.</param>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.ParseFrame(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Protocol specific frame parsing algorithm.
            </summary>
            <param name="buffer">Buffer containing data to parse.</param>
            <param name="offset">Offset index into buffer that represents where to start parsing.</param>
            <param name="length">Maximum length of valid data from offset.</param>
            <returns>The length of the data that was parsed.</returns>
            <remarks>
            <para>
            Implementers can choose to focus on parsing a single frame in the buffer even if there are other frames available in the buffer.
            Base class will continue to move through buffer on behalf of derived class until all the buffer has been processed.  Just return
            the total amount of data was parsed and the remaining unparsed will be prepended to next received buffer.
            </para>
            <para>
            Derived implementations should return an integer value that represents the length of the data that was parsed, and zero if not
            enough data was able to be parsed. Note that exceptions are expensive when parsing fast moving streaming data and a good coding
            practice for implementations of this method will be to not throw an exception when there is not enough data to parse the data,
            instead check the <paramref name="length"/> property to verify there is enough buffer data to represent the desired image. If
            there is not enough data to represent the image return zero and base class will prepend buffer onto next incoming set of data.
            </para>
            <para>
            Because of the expense incurred when an exception is thrown, any exceptions encountered in the derived implementations of this method
            will cause the current data buffer to be discarded and a <see cref="E:GSF.Parsing.BinaryImageParserBase.ParsingException"/> event to be raised.  Doing this prevents
            exceptions from being thrown repeatedly for the same data. If your code implementation recognizes a malformed image, you can raise
            a custom event to indicate this instead of throwing as exception and keep moving through the buffer as an optimization.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.OnDataDiscarded(System.Byte[])">
            <summary>
            Raises the <see cref="E:GSF.Parsing.BinaryImageParserBase.DataDiscarded"/> event.
            </summary>
            <param name="buffer">Source buffer that contains output that failed to parse.</param>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.OnParsingException(System.Exception)">
            <summary>
            Raises the <see cref="E:GSF.Parsing.BinaryImageParserBase.ParsingException"/> event.
            </summary>
            <param name="ex">The <see cref="T:System.Exception"/> that was encountered during parsing.</param>
        </member>
        <member name="M:GSF.Parsing.BinaryImageParserBase.OnBufferParsed">
            <summary>
            Raises the <see cref="E:GSF.Parsing.BinaryImageParserBase.BufferParsed"/> event.
            </summary>
        </member>
        <member name="E:GSF.Parsing.BinaryImageParserBase.DataDiscarded">
            <summary>
            Occurs when data image fails deserialized due to an exception.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the remaining portion of the binary image that failed to parse.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.BinaryImageParserBase.ParsingException">
            <summary>
            Occurs when an <see cref="T:System.Exception"/> is encountered while attempting to parse data.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:System.Exception"/> encountered while parsing data.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.BinaryImageParserBase.BufferParsed">
            <summary>
            Occurs when buffer parsing has completed.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the data parser is currently enabled.
            </summary>
            <remarks>
            Setting <see cref="P:GSF.Parsing.BinaryImageParserBase.Enabled"/> to true will start the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> if it is not started,
            setting to false will stop the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> if it is started.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.ProtocolUsesSyncBytes">
            <summary>
            Gets flag that determines if this protocol parsing implementation uses synchronization bytes.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.ProtocolSyncBytes">
            <summary>
            Gets or sets synchronization bytes for this parsing implementation, if used.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.RunTime">
            <summary>
            Gets the total amount of time, in seconds, that the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> has been active.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.TotalProcessedBuffers">
            <summary>
            Gets the total number of buffer images processed so far.
            </summary>
            <returns>Total number of buffer images processed so far.</returns>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.CanRead">
            <summary>
            Gets a value indicating whether the current stream supports reading.
            </summary>
            <remarks>
            The <see cref="T:GSF.Parsing.BinaryImageParserBase"/> is implemented as a WriteOnly stream, so this defaults to false.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.CanSeek">
            <summary>
            Gets a value indicating whether the current stream supports seeking.
            </summary>
            <remarks>
            The <see cref="T:GSF.Parsing.BinaryImageParserBase"/> is implemented as a WriteOnly stream, so this defaults to false.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.CanWrite">
            <summary>
            Gets a value indicating whether the current stream supports writing.
            </summary>
            <remarks>
            The <see cref="T:GSF.Parsing.BinaryImageParserBase"/> is implemented as a WriteOnly stream, so this defaults to true.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.Status">
            <summary>
            Gets current status of <see cref="T:GSF.Parsing.BinaryImageParserBase"/>.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.Name">
            <summary>
            Gets the name of <see cref="T:GSF.Parsing.BinaryImageParserBase"/>.
            </summary>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.Length">
            <summary>
            The parser is designed as a write only stream, so this method is not implemented.
            </summary>
            <remarks>
            WriteOnly stream has no length. Returned value will always be -1.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.BinaryImageParserBase.Position">
            <summary>
            The parser is designed as a write only stream, so this method is not implemented.
            </summary>
            <remarks>
            WriteOnly stream has no position. Returned value will always be -1 and any assigned value will be ignored.
            </remarks>
        </member>
        <member name="T:GSF.Parsing.CommonHeaderBase`1">
            <summary>
            Represents the base class for a common binary image header implementation.
            </summary>
            <remarks>
            Here is an example of a possible derived class constructor that has an integer TypeID as the
            first 4 bytes in the image:
            <code>
            public CommonHeader(object state, byte[] binaryImage, int startIndex, int length)
            {
                if (length > 3)
                {
                    TypeID = LittleEndian.ToInt32(binaryImage, startIndex);
                    State = state;
                }
                else
                    throw new InvalidOperationException("Malformed image");
            }
            </code>
            </remarks>
            <typeparam name="TTypeIdentifier">Type of identifier used to distinguish output types.</typeparam>
        </member>
        <member name="T:GSF.Parsing.ICommonHeader`1">
            <summary>
            Defines the common header of a frame image for a set of parsed types, consisting at least of a type ID.
            </summary>
            <remarks>
            Header implementations can extend this interface as necessary to accomodate protocol specific header images.
            </remarks>
            <typeparam name="TTypeIdentifier">Type of identifier used to distinguish output types.</typeparam>
        </member>
        <member name="P:GSF.Parsing.ICommonHeader`1.TypeID">
            <summary>
            Gets or sets the identifier used for identifying the <see cref="T:System.Type"/> to be parsed.
            </summary>
        </member>
        <member name="P:GSF.Parsing.ICommonHeader`1.State">
            <summary>
            Gets or sets any additional state information that might be needed for parsing.
            </summary>
        </member>
        <member name="P:GSF.Parsing.CommonHeaderBase`1.TypeID">
            <summary>
            Gets or sets the identifier used for identifying the <see cref="T:System.Type"/> to be parsed.
            </summary>
        </member>
        <member name="P:GSF.Parsing.CommonHeaderBase`1.State">
            <summary>
            Gets or sets any additional state information that might be needed for parsing.
            </summary>
        </member>
        <member name="T:GSF.Parsing.FrameImageParserBase`2">
            <summary>
            This class defines a basic implementation of parsing functionality suitable for automating the parsing of
            a binary data stream represented as frames with common headers and returning the parsed data via an event.
            </summary>
            <remarks>
            <para>
            This parser is designed as a write-only stream such that data can come from any source.
            </para>
            <para>
            This class is more specific than the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> in that it can automate the parsing of
            a particular protocol that is formatted as a series of frames that have a common method of identification.
            Automation of type creation occurs by loading implementations of common types that implement the
            <see cref="T:GSF.Parsing.ISupportFrameImage`1"/> interface. The common method of identification is handled by
            creating a class derived from the <see cref="T:GSF.Parsing.ICommonHeader`1"/> which primarily includes a
            TypeID property, but also should include any state information needed to parse a particular frame if
            necessary. Derived classes simply override the <see cref="M:GSF.Parsing.FrameImageParserBase`2.ParseCommonHeader(System.Byte[],System.Int32,System.Int32)"/> function in order to parse
            the <see cref="T:GSF.Parsing.ICommonHeader`1"/> from a provided binary image.
            </para>
            </remarks>
            <typeparam name="TTypeIdentifier">Type of identifier used to distinguish output types.</typeparam>
            <typeparam name="TOutputType">Type of the interface or class used to represent outputs.</typeparam>
        </member>
        <member name="T:GSF.Parsing.IFrameImageParser`2">
            <summary>
            This interface represents a basic implementation of parsing functionality suitable for automating the parsing of
            a binary data stream represented as frames with common headers and returning the parsed data via an event.
            </summary>
            <typeparam name="TTypeIdentifier">Type of identifier used to distinguish output types.</typeparam>
            <typeparam name="TOutputType">Type of the interface or class used to represent outputs.</typeparam>
        </member>
        <member name="E:GSF.Parsing.IFrameImageParser`2.DataParsed">
            <summary>
            Occurs when a data image is deserialized successfully to one of the output types that the data
            image represents.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the object that was deserialized from the binary image.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.IFrameImageParser`2.OutputTypeNotFound">
            <summary>
            Occurs when matching a output type for deserializing the data image cound not be found.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the ID of the output type that could not be found.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Parsing.FrameImageParserBase`2"/> class.
            </summary>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Parsing.FrameImageParserBase`2"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.Start">
            <summary>
            Start the data parser.
            </summary>
            <remarks>
            This overload loads public types from assemblies in the application binaries directory that implement the parser's output type.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.Start(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Starts the data parser given the specified type implementations.
            </summary>
            <param name="implementations">Output type implementations to establish for the parser.</param>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.ParseFrame(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Output type specific frame parsing algorithm.
            </summary>
            <param name="buffer">Buffer containing data to parse.</param>
            <param name="offset">Offset index into buffer that represents where to start parsing.</param>
            <param name="length">Maximum length of valid data from offset.</param>
            <returns>The length of the data that was parsed.</returns>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.ParseCommonHeader(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Parses a common header instance that implements <see cref="T:GSF.Parsing.ICommonHeader`1"/> for the output type represented
            in the binary image.
            </summary>
            <param name="buffer">Buffer containing data to parse.</param>
            <param name="offset">Offset index into buffer that represents where to start parsing.</param>
            <param name="length">Maximum length of valid data from offset.</param>
            <returns>The <see cref="T:GSF.Parsing.ICommonHeader`1"/> which includes a type ID for the <see cref="T:System.Type"/> to be parsed.</returns>
            <remarks>
            <para>
            Derived classes need to provide a common header instance (i.e., class that implements <see cref="T:GSF.Parsing.ICommonHeader`1"/>)
            for the output types; this will primarily include an ID of the <see cref="T:System.Type"/> that the data image represents.  This parsing is
            only for common header information, actual parsing will be handled by output type via its <see cref="M:GSF.Parsing.ISupportBinaryImage.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)"/>
            method. This header image should also be used to add needed complex state information about the output type being parsed if needed.
            </para>
            <para>
            If there is not enough buffer available to parse common header (as determined by <paramref name="length"/>), return null.  Also, if
            the protocol allows frame length to be determined at the time common header is being parsed and there is not enough buffer to parse
            the entire frame, it will be optimal to prevent further parsing by returning null.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.OnDataParsed(`1)">
            <summary>
            Raises the <see cref="E:GSF.Parsing.FrameImageParserBase`2.DataParsed"/> event.
            </summary>
            <param name="output">The object that was deserialized from binary image.</param>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.PublishParsedOutput(GSF.EventArgs{`1})">
            <summary>
            <see cref="T:GSF.Collections.AsyncQueue`1"/> handler used to publish queued outputs.
            </summary>
            <param name="outputArgs">Event args containing new output to publish.</param>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.OnOutputTypeNotFound(`0)">
            <summary>
            Raises the <see cref="E:GSF.Parsing.FrameImageParserBase`2.OutputTypeNotFound"/> event.
            </summary>
            <param name="id">The ID of the output type that was not found.</param>
        </member>
        <member name="M:GSF.Parsing.FrameImageParserBase`2.OnDuplicateTypeHandlerEncountered(System.Type,`0)">
            <summary>
            Raises the <see cref="E:GSF.Parsing.FrameImageParserBase`2.DuplicateTypeHandlerEncountered"/> event.
            </summary>
            <param name="duplicateType">The <see cref="T:System.Type"/> that defines a type ID that has already been defined.</param>
            <param name="id">The ID of the output type that was defined more than once.</param>
        </member>
        <member name="E:GSF.Parsing.FrameImageParserBase`2.DataParsed">
            <summary>
            Occurs when a data image is deserialized successfully to one of the output types that the data
            image represents.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the object that was deserialized from the binary image.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.FrameImageParserBase`2.OutputTypeNotFound">
            <summary>
            Occurs when matching an output type for deserializing the data image could not be found.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the ID of the output type that could not be found.
            </remarks>
        </member>
        <member name="E:GSF.Parsing.FrameImageParserBase`2.DuplicateTypeHandlerEncountered">
            <summary>
            Occurs when more than one type has been defined that can deserialize the specified output type.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the <see cref="T:System.Type"/> that defines a type ID that has already been defined.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is the ID of the output type that was defined more than once.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.FrameImageParserBase`2.AllowObjectPooling">
            <summary>
            Gets flag that determines if object pooling is allowed.
            </summary>
            <remarks>
            Object pooling is allowed by default for <typeparamref name="TOutputType"/>'s that implement <see cref="T:GSF.ISupportLifecycle"/>,
            override and return <c>false</c> if you do not want your frame image parser to use object pooling.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.FrameImageParserBase`2.QueuedOutputs">
            <summary>
            Gets the total number of parsed outputs that are currently queued for publication, if any.
            </summary>
        </member>
        <member name="P:GSF.Parsing.FrameImageParserBase`2.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the frame image parser is currently enabled.
            </summary>
        </member>
        <member name="P:GSF.Parsing.FrameImageParserBase`2.Status">
            <summary>
            Gets current status of <see cref="T:GSF.Parsing.FrameImageParserBase`2"/>.
            </summary>
        </member>
        <member name="T:GSF.Parsing.ISupportBinaryImageExtensions">
            <summary>
            Defines extension functions related to <see cref="T:GSF.Parsing.ISupportBinaryImage"/> implementations.
            </summary>
        </member>
        <member name="M:GSF.Parsing.ISupportBinaryImageExtensions.BinaryImage(GSF.Parsing.ISupportBinaryImage)">
            <summary>
            Returns a binary image of an object that implements <see cref="T:GSF.Parsing.ISupportBinaryImage"/>.
            </summary>
            <param name="imageSource"><see cref="T:GSF.Parsing.ISupportBinaryImage"/> source.</param>
            <returns>A binary image of an object that implements <see cref="T:GSF.Parsing.ISupportBinaryImage"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="imageSource"/> cannot be null.</exception>
            <remarks>
            This is a convenience method. It is often optimal to use <see cref="M:GSF.Parsing.ISupportBinaryImage.GenerateBinaryImage(System.Byte[],System.Int32)"/>
            directly using a common buffer instead of always allocating new buffers.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.ISupportBinaryImageExtensions.CopyBinaryImageToStream(GSF.Parsing.ISupportBinaryImage,System.IO.Stream)">
            <summary>
            Copies binary image of object that implements <see cref="T:GSF.Parsing.ISupportBinaryImage"/> to a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="imageSource"><see cref="T:GSF.Parsing.ISupportBinaryImage"/> source.</param>
            <param name="stream">Destination <see cref="T:System.IO.Stream"/>.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="imageSource"/> cannot be null.</exception>
        </member>
        <member name="M:GSF.Parsing.ISupportBinaryImageExtensions.ParseBinaryImageFromStream(GSF.Parsing.ISupportBinaryImage,System.IO.Stream)">
            <summary>
            Parses binary image of object that implements <see cref="T:GSF.Parsing.ISupportBinaryImage"/> from a <see cref="T:System.IO.Stream"/>.
            </summary>
            <param name="imageSource"><see cref="T:GSF.Parsing.ISupportBinaryImage"/> source.</param>
            <param name="stream">Source <see cref="T:System.IO.Stream"/>.</param>
            <returns>The number of bytes parsed from the <paramref name="stream"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="imageSource"/> cannot be null.</exception>
        </member>
        <member name="T:GSF.Parsing.ISupportFrameImage`1">
            <summary>
            Specifies that this <see cref="T:System.Type"/> can produce or consume a frame of data represented as a binary image.
            </summary>
            <remarks>
            Related types of protocol data that occur as frames in a stream can implement this interface for automated parsing
            via the <see cref="T:GSF.Parsing.FrameImageParserBase`2"/> class.
            </remarks>
            <typeparam name="TTypeIdentifier">Type of the frame identifier.</typeparam>
        </member>
        <member name="P:GSF.Parsing.ISupportFrameImage`1.CommonHeader">
            <summary>
            Gets or sets current <see cref="T:GSF.Parsing.ICommonHeader`1"/>.
            </summary>
            <remarks>
            If used, this will need to be set before call to <see cref="M:GSF.Parsing.ISupportBinaryImage.ParseBinaryImage(System.Byte[],System.Int32,System.Int32)"/>.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.ISupportFrameImage`1.TypeID">
            <summary>
            Gets the identifier that can be used for identifying the <see cref="T:System.Type"/>.
            </summary>
            <remarks>
            <para>
            <see cref="P:GSF.Parsing.ISupportFrameImage`1.TypeID"/> must be unique across all siblings implementing a common <see cref="T:System.Type"/> or interface.
            </para>
            <para>
            Output types implement this class so they have a consistently addressable identification property.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Parsing.ISupportFrameImage`1.AllowQueuedPublication">
            <summary>
            Gets flag that determines if frame image can queued for publication or should be processed immediately.
            </summary>
            <remarks>
            Some frames, e.g., a configuration or key frame, may be critical to processing of other frames. In this
            case, these types of frames should be published immediately so that subsequent frame parsing can have
            access to needed critical information.
            </remarks>
        </member>
        <member name="T:GSF.Parsing.ISupportSourceIdentifiableFrameImage`2">
            <summary>
            Specifies that this <see cref="T:System.Type"/> can produce or consume a frame of data represented as a binary image
            that can be identified by its data source.
            </summary>
            <remarks>
            Related types of protocol data that occur as frames in a stream can implement this interface for automated parsing
            via the <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3"/> class.
            </remarks>
            <typeparam name="TSourceIdentifier">Type of identifier for the data source.</typeparam>
            <typeparam name="TTypeIdentifier">Type of the frame identifier.</typeparam>
        </member>
        <member name="P:GSF.Parsing.ISupportSourceIdentifiableFrameImage`2.Source">
            <summary>
            Gets or sets the data source identifier of the frame image.
            </summary>
        </member>
        <member name="T:GSF.Parsing.MultiSourceFrameImageParserBase`3">
            <summary>
            This class defines a basic implementation of parsing functionality suitable for automating the parsing of multiple
            binary data streams, each represented as frames with common headers and returning the parsed data via an event.
            </summary>
            <remarks>
            <para>
            This parser is designed as a write-only stream such that data can come from any source.
            </para>
            <para>
            This class is more specific than the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> in that it can automate the parsing of a
            particular protocol that is formatted as a series of frames that have a common method of identification.
            Automation of type creation occurs by loading implementations of common types that implement the
            <see cref="T:GSF.Parsing.ISupportSourceIdentifiableFrameImage`2"/> interface. The common method of
            identification is handled by creating a class derived from the <see cref="T:GSF.Parsing.ICommonHeader`1"/> which primarily
            includes a TypeID property, but also should include any state information needed to parse a particular frame if necessary.
            Derived classes override the <see cref="M:GSF.Parsing.FrameImageParserBase`2.ParseCommonHeader(System.Byte[],System.Int32,System.Int32)"/>
            method in order to parse the <see cref="T:GSF.Parsing.ICommonHeader`1"/> from a provided binary image.
            </para>
            </remarks>
            <typeparam name="TSourceIdentifier">Type of identifier for the data source.</typeparam>
            <typeparam name="TTypeIdentifier">Type of identifier used to distinguish output types.</typeparam>
            <typeparam name="TOutputType">Type of the interface or class used to represent outputs.</typeparam>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3"/> class.
            </summary>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Start">
            <summary>
            Start the streaming data parser.
            </summary>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Start(System.Collections.Generic.IEnumerable{System.Type})">
            <summary>
            Starts the data parser given the specified type implementations.
            </summary>
            <param name="implementations">Output type implementations to establish for the parser.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(`0,System.Byte[])">
            <summary>
            Queues a sequence of bytes, from the specified data source, onto the stream for parsing.
            </summary>
            <param name="source">Identifier of the data source.</param>
            <param name="buffer">An array of bytes to queue for parsing</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(`0,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Queues a sequence of bytes, from the specified data source, onto the stream for parsing.
            </summary>
            <param name="source">Identifier of the data source.</param>
            <param name="buffer">An array of bytes. This method copies count bytes from buffer to the queue.</param>
            <param name="offset">The zero-based byte offset in buffer at which to begin copying bytes to the current stream.</param>
            <param name="count">The number of bytes to be written to the current stream.</param>
            <remarks>
            This method associates a buffer with its data source identifier.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(`0,GSF.Parsing.ISupportBinaryImage)">
            <summary>
            Queues the object implementing the <see cref="T:GSF.Parsing.ISupportBinaryImage"/> interface, from the specified data source, onto the stream for parsing.
            </summary>
            <param name="source">Identifier of the data source.</param>
            <param name="image">Object to be parsed that implements the <see cref="T:GSF.Parsing.ISupportBinaryImage"/> interface.</param>
            <remarks>
            This method takes the binary image from <see cref="T:GSF.Parsing.ISupportBinaryImage"/> and writes the buffer to the <see cref="T:GSF.Parsing.BinaryImageParserBase"/> stream for parsing.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.PurgeBuffer(`0)">
            <summary>
            Clears the internal buffer of unparsed data received from the specified <paramref name="source"/>.
            </summary>
            <param name="source">Identifier of the data source.</param>
            <remarks>
            This method can be used to ensure that partial data received from the <paramref name="source"/> is not kept in memory indefinitely.
            </remarks>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(GSF.Parsing.ISupportBinaryImage)">
            <summary>
            Not implemented. Consumers should call the <see cref="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(`0,GSF.Parsing.ISupportBinaryImage)"/> method instead to make sure data source source ID gets tracked with data buffer.
            </summary>
            <exception cref="T:System.NotImplementedException">This method should not be called directly.</exception>
            <param name="image">A <see cref="T:GSF.Parsing.ISupportBinaryImage"/>.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Write(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Not implemented. Consumers should call the <see cref="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.Parse(`0,System.Byte[],System.Int32,System.Int32)"/> method instead to make sure data source source ID gets tracked with data buffer.
            </summary>
            <exception cref="T:System.NotImplementedException">This method should not be called directly.</exception>
            <param name="buffer">A <see cref="T:System.Byte"/> array.</param>
            <param name="count">An <see cref="T:System.Int32"/> for the offset.</param>
            <param name="offset">An <see cref="T:System.Int32"/> for the count.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.OnDataParsed(`2)">
            <summary>
            Raises the <see cref="E:GSF.Parsing.FrameImageParserBase`2.DataParsed"/> event.
            </summary>
            <param name="output">The object that was deserialized from binary image.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.OnSourceDataParsed(`0,System.Collections.Generic.IList{`2})">
            <summary>
            Raises the <see cref="E:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceDataParsed"/> event.
            </summary>
            <param name="source">Identifier for the data source.</param>
            <param name="output">The objects that were deserialized from binary images from the <paramref name="source"/> data stream.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.OnDataDiscarded(System.Byte[])">
            <summary>
            Raises the <see cref="E:GSF.Parsing.BinaryImageParserBase.DataDiscarded"/> event.
            </summary>
            <param name="buffer">Source buffer that contains output that failed to parse.</param>
        </member>
        <member name="E:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceDataParsed">
            <summary>
            Occurs when a data image is deserialized successfully to one or more of the output types that the data image represents.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`2.Argument1"/> is the ID of the source for the data image.<br/>
            <see cref="F:GSF.EventArgs`2.Argument2"/> is a list of objects deserialized from the data image.
            </remarks>
        </member>
        <member name="P:GSF.Parsing.MultiSourceFrameImageParserBase`3.QueuedBuffers">
            <summary>
            Gets the total number of buffers that are currently queued for processing, if any.
            </summary>
        </member>
        <member name="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer">
            <summary>
            Represents a source identifiable buffer.
            </summary>
            <remarks>
            This class implements <see cref="T:GSF.ISupportLifecycle"/> such that it will support
            automatic object pool handling, e.g., returning object to pool when disposed.
            </remarks>
        </member>
        <member name="F:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Source">
            <summary>
            Defines the source identifier of the <see cref="F:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Buffer"/>.
            </summary>
        </member>
        <member name="F:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Buffer">
            <summary>
            Defines the buffer which is identifiable by its associated <see cref="F:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Source"/>.
            </summary>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/> object.
            </summary>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Initialize">
            <summary>
            Initializes (or reinitializes) <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/> state.
            </summary>
        </member>
        <member name="E:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Disposed">
            <summary>
            Occurs when <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/> is disposed.
            </summary>
        </member>
        <member name="P:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Enabled">
            <summary>
            Gets or sets enabled state of <see cref="T:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer"/>.
            </summary>
        </member>
        <member name="P:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Count">
            <summary>
            Gets or sets valid number of bytes within the <see cref="F:GSF.Parsing.MultiSourceFrameImageParserBase`3.SourceIdentifiableBuffer.Buffer"/>.
            </summary>
            <remarks>   
            This property will automatically initialize buffer. Set to zero to release buffer. 
            </remarks>
        </member>
        <member name="T:GSF.Parsing.NamespaceDoc">
            <summary>
            Contains classes used to simplify, standardize and automate any kind of stream based parsing operation.
            </summary>
        </member>
        <member name="T:GSF.Parsing.TemplatedExpressionParser">
            <summary>
            Represents a template based token substitution parser that supports binary expressions.
            </summary>
            <remarks>
            <para>
            As an example, this parser can use a templated expression of the form:
            <code>
            {CompanyAcronym}_{DeviceAcronym}[?{SignalType.Source}=Phasor[-{SignalType.Suffix}{SignalIndex}]]:{Signal.Acronymn}
            </code>
            then replace the tokens with actual values and properly evaluate the expressions.
            Example results could look like: GPA_SHELBY-PA1:IPHA and GPA_SHELBY:FREQ
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Parsing.TemplatedExpressionParser.#ctor">
            <summary>
            Creates a new <see cref="T:GSF.Parsing.TemplatedExpressionParser"/>.
            </summary>
        </member>
        <member name="M:GSF.Parsing.TemplatedExpressionParser.#ctor(System.Char,System.Char,System.Char,System.Char)">
            <summary>
            Creates a new <see cref="T:GSF.Parsing.TemplatedExpressionParser"/> with desired delimiters.
            </summary>
            <param name="startTokenDelimiter">Character that identifies the beginning of a token.</param>
            <param name="endTokenDelimiter">Character that identifies the end of a token.</param>
            <param name="startExpressionDelimiter">Character that identifies the beginning of an expression.</param>
            <param name="endExpressionDelimiter">Character that identifies the beginning of an expression.</param>
        </member>
        <member name="M:GSF.Parsing.TemplatedExpressionParser.Execute(System.Collections.Generic.IDictionary{System.String,System.String},System.Boolean,System.Boolean)">
            <summary>
            Executes replacements using provided <paramref name="substitutions"/> dictionary on the currently defined
            <see cref="P:GSF.Parsing.TemplatedExpressionParser.TemplatedExpression"/> value and optionally evaluates any expressions.
            </summary>
            <param name="substitutions">Dictionary of substitutions. Dictionary keys are tokens to be replaced by the values.</param>
            <param name="ignoreCase">Determines if substitutions should be case insensitive. Defaults to <c>true</c>.</param>
            <param name="evaluateExpressions">Determines if expressions should be evaluated. Defaults to <c>true</c>.</param>
            <returns>A string that was based on <see cref="P:GSF.Parsing.TemplatedExpressionParser.TemplatedExpression"/> with tokens replaced and expressions evaluated.</returns>
            <remarks>
            <para>
            The default token start and end delimiters are { and } but can be overridden in <see cref="T:GSF.Parsing.TemplatedExpressionParser"/> constructor.
            All substitution tokens surrounded by <see cref="P:GSF.Parsing.TemplatedExpressionParser.StartTokenDelimiter"/> and <see cref="P:GSF.Parsing.TemplatedExpressionParser.EndTokenDelimiter"/> (e.g., {token})
            will be immediately replaced with their string equivalents before further expression evaluation. As a result of the expression
            syntax &lt;, &gt;, =, and ! are reserved expressions symbols; <see cref="P:GSF.Parsing.TemplatedExpressionParser.StartTokenDelimiter"/>, <see cref="P:GSF.Parsing.TemplatedExpressionParser.EndTokenDelimiter"/>,
            <see cref="P:GSF.Parsing.TemplatedExpressionParser.StartExpressionDelimiter"/> and <see cref="P:GSF.Parsing.TemplatedExpressionParser.EndExpressionDelimiter"/> are reserved delimiter symbols. To embed any reserved
            symbol into the <see cref="P:GSF.Parsing.TemplatedExpressionParser.TemplatedExpression"/> so that it appears in the evaluated result, escape the symbol by prefixing it
            with a backslash, e.g., \{.
            </para>
            <para>
            The default expression start and end delimiters are [ and ] but can be overridden in <see cref="T:GSF.Parsing.TemplatedExpressionParser"/> constructor.
            Expressions are represented in the form of [?expression[result]] and can be nested, e.g. ([?expression1[?expression2[result]]]).
            Expressions should not contain extraneous white space for proper evaluation. Only simple boolean comparison operations are allowed
            in expressions, e.g., A=B (or A==B), A!=B (or A&lt;&gt;B), A&gt;B, A&gt;=B, A&lt;B and A&lt;=B - nothing more. Any expression that
            fails to evaluate will be evaluated as FALSE. Note that if both left (A) and right (B) operands can be parsed as a numeric value then
            the expression will be numerically evaluated otherwise expression will be a culture-invariant string comparison. Nested expressions
            are evaluated as cumulative AND operators. There is no defined nesting limit.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.TemplatedExpression">
            <summary>
            Gets or sets the templated expression to use.
            </summary>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.ReservedSymbols">
            <summary>
            Gets the reserved symbols - this includes all delimiters and expression operators.
            </summary>
            <remarks>
            The default reserved symbol list is: &lt;, &gt;, =, !, {, }, [ and ]
            </remarks>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.StartTokenDelimiter">
            <summary>
            Gets the character that identifies the beginning of a token.
            </summary>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.EndTokenDelimiter">
            <summary>
            Gets the character that identifies the end of a token.
            </summary>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.StartExpressionDelimiter">
            <summary>
            Gets the character that identifies the start of an expression.
            </summary>
        </member>
        <member name="P:GSF.Parsing.TemplatedExpressionParser.EndExpressionDelimiter">
            <summary>
            Gets the character that identifies the end of an expression.
            </summary>
        </member>
        <member name="T:GSF.TimerCapabilities">
            <summary>
            Represents information about the system's multimedia timer capabilities.
            </summary>
        </member>
        <member name="F:GSF.TimerCapabilities.PeriodMinimum">
            <summary>Minimum supported period in milliseconds.</summary>
        </member>
        <member name="F:GSF.TimerCapabilities.PeriodMaximum">
            <summary>Maximum supported period in milliseconds.</summary>
        </member>
        <member name="T:GSF.TimerStartException">
            <summary>
            Represents an exception that is thrown when a <see cref="T:GSF.PrecisionTimer"/> fails to start.
            </summary>
        </member>
        <member name="M:GSF.TimerStartException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.TimerStartException"/> class.
            </summary>
            <param name="message">The error message that explains the reason for the exception.</param>
        </member>
        <member name="T:GSF.PrecisionTimer">
            <summary>
            Represents a high-resolution timer and timestamp class.
            </summary>
            <remarks>
            <para>
            For standard deployments, implementation is based on the Windows multimedia timer. For mono
            deployments, implementation uses a basic timer for compatibility - this should have ~10ms
            of resolution when used on standard Linux systems.
            </para>
            <para>
            Future mono deployments may want to consider an implementation that uses OS specific timers:
                For Windows use of non-Mono style implementation below should be sufficient.
                For Linux see http://www.ittc.ku.edu/utime/ as an example.
            Implememtation might depend on a platform specific P/Invokable wrapper DLL that exposed the
            same methods on Windows and Linux for consumption from .NET but used the specific precision
            timer implementations mentioned above. See the following for Mono interop details:
            http://www.mono-project.com/Interop_with_Native_Libraries
            </para>
            </remarks>
        </member>
        <member name="M:GSF.PrecisionTimer.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.PrecisionTimer"/> class.
            </summary>
        </member>
        <member name="M:GSF.PrecisionTimer.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.PrecisionTimer"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.PrecisionTimer.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.PrecisionTimer"/> object.
            </summary>
        </member>
        <member name="M:GSF.PrecisionTimer.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.PrecisionTimer"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.PrecisionTimer.Start">
            <summary>
            Starts the <see cref="T:GSF.PrecisionTimer"/>.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            The timer has already been disposed.
            </exception>
            <exception cref="T:GSF.TimerStartException">
            The timer failed to start.
            </exception>
        </member>
        <member name="M:GSF.PrecisionTimer.Start(System.EventArgs)">
            <summary>
            Starts the <see cref="T:GSF.PrecisionTimer"/> with the specified <see cref="P:GSF.PrecisionTimer.EventArgs"/>.
            </summary>
            <param name="userArgs">User defined event arguments to pass into raised <see cref="T:GSF.Ticks"/> event.</param>
            <exception cref="T:System.ObjectDisposedException">
            The timer has already been disposed.
            </exception>
            <exception cref="T:GSF.TimerStartException">
            The timer failed to start.
            </exception>
        </member>
        <member name="M:GSF.PrecisionTimer.Stop">
            <summary>
            Stops <see cref="T:GSF.PrecisionTimer"/>.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            If the timer has already been disposed.
            </exception>
        </member>
        <member name="M:GSF.PrecisionTimer.SetMinimumTimerResolution(System.Int32)">
            <summary>
            Requests a minimum resolution for periodic timers such as the <see cref="T:GSF.PrecisionTimer"/>.
            </summary>
            <param name="period">
            Minimum timer resolution, in milliseconds, for the application. A lower value specifies a higher (more accurate) resolution.
            </param>
            <remarks>
            <para>
            Call this function immediately before using the <see cref="T:GSF.PrecisionTimer"/> and call <see cref="M:GSF.PrecisionTimer.ClearMinimumTimerResolution(System.Int32)"/>
            immediately after you are finished using the PrecisionTimer. You must match each call to <see cref="M:GSF.PrecisionTimer.SetMinimumTimerResolution(System.Int32)"/>
            with a call to ClearMinimumTimerResolution specifying the same minimum resolution <paramref name="period"/> in both calls.
            An application can make multiple ClearMinimumTimerResolution calls as long as each call is matched with a call to ClearMinimumTimerResolution.
            This function affects a global Windows setting. Windows uses the lowest value (that is, highest resolution) requested by any process.
            Setting a higher resolution can improve the accuracy of time-out intervals in wait functions. However, it can also reduce overall system
            performance, because the thread scheduler switches tasks more often. High resolutions can also prevent the CPU power management system from
            entering power-saving modes. See timeBeginPeriod Windows API for more information.
            </para>
            <para>
            This method is currently ignored under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.PrecisionTimer.ClearMinimumTimerResolution(System.Int32)">
            <summary>
            Clears a previously set minimum timer resolution established using <see cref="M:GSF.PrecisionTimer.SetMinimumTimerResolution(System.Int32)"/>.
            </summary>
            <param name="period">
            Minimum timer resolution specified in the previous call to the <see cref="M:GSF.PrecisionTimer.SetMinimumTimerResolution(System.Int32)"/> function.
            </param>
            <remarks>
            <para>
            Call this function immediately after you are finished using the <see cref="T:GSF.PrecisionTimer"/>. You must match each call to
            <see cref="M:GSF.PrecisionTimer.SetMinimumTimerResolution(System.Int32)"/> with a call to <see cref="M:GSF.PrecisionTimer.ClearMinimumTimerResolution(System.Int32)"/>, specifying the same minimum
            resolution <paramref name="period"/> in both calls. An application can make multiple SetMinimumTimerResolution calls as long
            as each call is matched with a call to ClearMinimumTimerResolution.
            </para>
            <para>
            This method is currently ignored under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="E:GSF.PrecisionTimer.Started">
            <summary>
            Occurs when the <see cref="T:GSF.PrecisionTimer"/> has started.
            </summary>
        </member>
        <member name="E:GSF.PrecisionTimer.Stopped">
            <summary>
            Occurs when the <see cref="T:GSF.PrecisionTimer"/> has stopped.
            </summary>
        </member>
        <member name="E:GSF.PrecisionTimer.Tick">
            <summary>
            Occurs when the <see cref="T:GSF.PrecisionTimer"/> period has elapsed.
            </summary>
        </member>
        <member name="P:GSF.PrecisionTimer.Period">
            <summary>
            Gets or sets the time between <see cref="E:GSF.PrecisionTimer.Tick"/> events, in milliseconds.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            If the timer has already been disposed.
            </exception>
        </member>
        <member name="P:GSF.PrecisionTimer.Resolution">
            <summary>
            Gets or sets the <see cref="T:GSF.PrecisionTimer"/> resolution, in milliseconds.
            </summary>
            <exception cref="T:System.ObjectDisposedException">
            If the timer has already been disposed.
            </exception>
            <remarks>
            <para>
            The resolution is in milliseconds. The resolution increases  with smaller values;
            a resolution of 0 indicates periodic events should occur with the greatest possible
            accuracy. To reduce system  overhead, however, you should use the maximum value
            appropriate for your application.
            </para>
            <para>
            This property is currently ignored under Mono deployments.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.PrecisionTimer.AutoReset">
            <summary>
            Gets or sets a value indicating whether the <see cref="T:GSF.PrecisionTimer"/> should raise the
            <see cref="E:GSF.PrecisionTimer.Tick"/> event each time the specified period elapses or only after the first
            time it elapses.
            </summary>
            <remarks>
            </remarks>
            <returns>
            <c>true</c>true if the <see cref="T:GSF.PrecisionTimer"/> should raise the <see cref="T:GSF.Ticks"/>
            event each time the interval elapses; <c>false</c> if it should raise the event only once
            after the first time the interval elapses. The default is <c>true</c>.
            </returns>
        </member>
        <member name="P:GSF.PrecisionTimer.IsRunning">
            <summary>
            Gets a value indicating whether the <see cref="T:GSF.PrecisionTimer"/> is running.
            </summary>
        </member>
        <member name="P:GSF.PrecisionTimer.EventArgs">
            <summary>
            Gets <see cref="T:System.EventArgs"/> specified in <see cref="M:GSF.PrecisionTimer.Start(System.EventArgs)"/> used to pass into <see cref="E:GSF.PrecisionTimer.Tick"/> event.
            </summary>
        </member>
        <member name="P:GSF.PrecisionTimer.Capabilities">
            <summary>
            Gets the system multimedia timer capabilities.
            </summary>
        </member>
        <member name="T:GSF.ProcessProgress`1">
            <summary>
            Represents current process progress for an operation.
            </summary>
            <remarks>
            Used to track total progress of an identified operation.
            </remarks>
            <typeparam name="TUnit">Unit of progress used (long, double, int, etc.)</typeparam>
        </member>
        <member name="M:GSF.ProcessProgress`1.#ctor(System.String)">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.ProcessProgress`1"/> class using specified process name.
            </summary>
            <param name="processName">Name of process for which progress is being monitored.</param>
        </member>
        <member name="M:GSF.ProcessProgress`1.#ctor(System.String,System.String,`0,`0)">
            <summary>
            Constructs a new instance of the <see cref="T:GSF.ProcessProgress`1"/> class using specified parameters.
            </summary>
            <param name="processName">Name of process for which progress is being monitored.</param>
            <param name="processMessage">Current processing message, if any.</param>
            <param name="total">Total number of units to be processed.</param>
            <param name="complete">Number of units completed processing so far.</param>
        </member>
        <member name="P:GSF.ProcessProgress`1.ProcessName">
            <summary>
            Gets or sets name of process for which progress is being monitored.
            </summary>
        </member>
        <member name="P:GSF.ProcessProgress`1.ProgressMessage">
            <summary>
            Gets or sets current progress message (e.g., current file being copied, etc.)
            </summary>
        </member>
        <member name="P:GSF.ProcessProgress`1.Total">
            <summary>
            Gets or sets total number of units to be processed.
            </summary>
        </member>
        <member name="P:GSF.ProcessProgress`1.Complete">
            <summary>
            Gets or sets number of units completed processing so far.
            </summary>
        </member>
        <member name="T:GSF.ProcessProgressHandler`1">
            <summary>
            Defines a delegate handler for a <see cref="T:GSF.ProcessProgress`1"/> instance.
            </summary>
            <remarks>
            <para>
            This handler is used by methods with an <see cref="T:System.Action"/> delegate parameter (e.g., Action&lt;ProcessProgress&lt;long&gt;&gt;)
            providing a simple callback mechanism for reporting progress on a long operation.
            </para>
            <para>
            Examples include:
            <see cref="M:GSF.IO.Compression.CompressionExtensions.Compress(System.IO.Stream,System.IO.Stream,GSF.IO.Compression.CompressionStrength,System.Action{GSF.ProcessProgress{System.Int64}})"/>, 
            <see cref="M:GSF.Security.Cryptography.Cipher.Encrypt(System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})"/> and
            <see cref="M:GSF.Security.Cryptography.Cipher.Decrypt(System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})"/>
            </para>
            </remarks>
            <typeparam name="TUnit">Unit of progress used (long, double, int, etc.)</typeparam>
        </member>
        <member name="M:GSF.ProcessProgressHandler`1.#ctor(System.Action{GSF.ProcessProgress{`0}},System.String)">
            <summary>
            Constructs a new process progress handler for the specified parameters.
            </summary>
            <param name="progressHandler">Delegate callback to invoke as process progresses.</param>
            <param name="processName">Descriptive name of process, if useful.</param>
        </member>
        <member name="M:GSF.ProcessProgressHandler`1.#ctor(System.Action{GSF.ProcessProgress{`0}},System.String,`0)">
            <summary>
            Constructs a new process progress handler for the specified parameters.
            </summary>
            <param name="progressHandler">Delegate callback to invoke as process progresses.</param>
            <param name="processName">Descriptive name of process, if useful.</param>
            <param name="total">Total number of units to be processed.</param>
        </member>
        <member name="M:GSF.ProcessProgressHandler`1.UpdateProgress(`0)">
            <summary>
            Calls callback function with updated <see cref="T:GSF.ProcessProgress`1"/> instance so consumer can track progress.
            </summary>
            <param name="completed">Number of units completed processing so far.</param>
            <remarks>
            Note that assigning a value to the <see cref="P:GSF.ProcessProgressHandler`1.Complete"/> property will have the same effect as calling this method.
            </remarks>
        </member>
        <member name="P:GSF.ProcessProgressHandler`1.ProcessProgress">
            <summary>
            Gets instance of <see cref="T:GSF.ProcessProgress`1"/> used to track progress for this handler.
            </summary>
        </member>
        <member name="P:GSF.ProcessProgressHandler`1.ProgressHandler">
            <summary>
            Gets or sets reference to delegate handler used as a callback to report process progress.
            </summary>
        </member>
        <member name="P:GSF.ProcessProgressHandler`1.Complete">
            <summary>
            Gets or sets current process progress (i.e., number of units completed processing so far) - note that when this
            property value is assigned, the callback function is automatically called with updated <see cref="T:GSF.ProcessProgress`1"/>
            instance so consumer can track progress.
            </summary>
            <value>Number of units completed processing so far.</value>
        </member>
        <member name="P:GSF.ProcessProgressHandler`1.Total">
            <summary>
            Gets or sets total number of units to be processed.
            </summary>
        </member>
        <member name="T:GSF.Reflection.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to simplify and standardize access to assembly information and attributes in applications.
            </summary>
        </member>
        <member name="T:GSF.ReusableObjectPool`1">
             <summary>
             Represents a reusable object pool that can be used by an application.
             </summary>
             <remarks>
             <para>
             Object pooling can offer a significant performance boost in some scenarios. It is most effective when the cost
             of construction is high and/or the rate of instantiation is high.
             </para>
             <para>
             This object pool is statically created at application startup, one per type, and is available for all components
             and classes within an application domain. Every time you need to use an object, you take one from the pool, use
             it, then return it to the pool when done. This process can be much faster than creating a new object every time
             you need to use one.
             </para>
             <para>
             When objects implement <see cref="T:GSF.ISupportLifecycle"/>, the <see cref="T:GSF.ReusableObjectPool`1"/> will automatically
             attach to the <see cref="E:GSF.ISupportLifecycle.Disposed"/> event and return the object to the pool when it's disposed.
             When an object is taken from the pool, the <see cref="M:GSF.ISupportLifecycle.Initialize"/> method will be called to 
             reinstantiate any need member variables. If class tracks a disposed flag, it should be reset during call to the
             <see cref="M:GSF.ISupportLifecycle.Initialize"/> method so that class will be "un-disposed". Also, typical dispose
             implementations call <see cref="M:System.GC.SuppressFinalize(System.Object)"/> in the <see cref="M:System.IDisposable.Dispose"/> method, as such the
             <see cref="M:System.GC.ReRegisterForFinalize(System.Object)"/> should be called during <see cref="M:GSF.ISupportLifecycle.Initialize"/> method to
             make sure class will be disposed by finalizer in case <see cref="M:System.IDisposable.Dispose"/> method is never called.
             <example>
             Here is an example class that implements <see cref="T:GSF.ISupportLifecycle"/> such that it will be automatically returned
             to the pool when the class is disposed and automatically initialized when taken from the pool:
             <code>
             /// &lt;summary&gt;
             /// Class that shows example implementation of reusable &lt;see cref="ISupportLifecycle"/&gt;.
             /// &lt;/summary&gt;
             public class ReusableClass : ISupportLifecycle
             {
                 #region [ Members ]
             
                 // Events
                 
                 /// &lt;summary&gt;
                 /// Occurs when the &lt;see cref="ReusableClass"/&gt; is disposed.
                 /// &lt;/summary&gt;
                 public event EventHandler Disposed;
                 
                 // Fields
                 private System.Timers.Timer m_timer;    // Example member variable that needs initialization and disposal
                 private bool m_enabled;
                 private bool m_disposed;
             
                 #endregion
            
                 #region [ Constructors ]
             
                 /// &lt;summary&gt;
                 /// Releases the unmanaged resources before the &lt;see cref="ReusableClass"/&gt; object is reclaimed by &lt;see cref="GC"/&gt;.
                 /// &lt;/summary&gt;
                 ~ReusableClass()
                 {
                     Dispose(false);
                 }
             
                 #endregion
             
                 #region [ Properties ]
             
                 /// &lt;summary&gt;
                 /// Gets or sets a boolean value that indicates whether the &lt;see cref="ReusableClass"/&gt; object is currently enabled.
                 /// &lt;/summary&gt;
                 public bool Enabled
                 {
                     get
                     {
                         return m_enabled;
                     }
                     set
                     {
                         m_enabled = value;
             
                         if (m_timer != null)
                             m_timer.Enabled = m_enabled;
                     }
                 }
             
                 #endregion
             
                 #region [ Methods ]
             
                 /// &lt;summary&gt;
                 /// Initializes the &lt;see cref="ReusableClass"/&gt; object.
                 /// &lt;/summary&gt;
                 public void Initialize()
                 {
                     // Undispose class instance if it is being reused
                     if (m_disposed)
                     {
                         m_disposed = false;
                         GC.ReRegisterForFinalize(this);
                     }
                     
                     m_enabled = true;
             
                     // Initialize member variables
                     if (m_timer == null)
                     {
                         m_timer = new System.Timers.Timer(2000.0D);
                         m_timer.Elapsed += m_timer_Elapsed;
                         m_timer.Enabled = m_enabled;
                     }
                 }
             
                 /// &lt;summary&gt;
                 /// Releases all the resources used by the &lt;see cref="ReusableClass"/&gt; object.
                 /// &lt;/summary&gt;
                 public void Dispose()
                 {
                     Dispose(true);
                     GC.SuppressFinalize(this);
                 }
             
                 /// &lt;summary&gt;
                 /// Releases the unmanaged resources used by the &lt;see cref="ReusableClass"/&gt; object and optionally releases the managed resources.
                 /// &lt;/summary&gt;
                 /// &lt;param name="disposing"&gt;true to release both managed and unmanaged resources; false to release only unmanaged resources.&lt;/param&gt;
                 protected virtual void Dispose(bool disposing)
                 {
                     if (!m_disposed)
                     {
                         try
                         {
                             if (disposing)
                             {
                                 // Dispose member variables
                                 if (m_timer != null)
                                 {
                                     m_timer.Elapsed -= m_timer_Elapsed;
                                     m_timer.Dispose();
                                 }
                                 m_timer = null;
                                 
                                 m_enabled = false;
                             }
                         }
                         finally
                         {
                             m_disposed = true;
             
                             if (Disposed != null)
                                 Disposed(this, EventArgs.Empty);
                         }
                     }
                 }
             
                 // Handle timer event
                 private void m_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
                 {
                     // Do work here...
                 }
             
                 #endregion
             }
             </code>
             </example>
             </para>
             <para>
             If the pool objects do not implement <see cref="T:GSF.ISupportLifecycle"/> you can still use the object pool, but it
             will be very imporant to return the object to the pool when you are finished using it. If you are using an object
             scoped within a method, make sure to use a try/finally so that you can take the object within the try and return
             the object within the finally. If you are using an object as a member scoped class field, make sure you use the
             standard dispose pattern and return the object during the <see cref="M:System.IDisposable.Dispose"/> method call. In this
             mode you will also need to manually initialze your object after you get it from the pool to reset its state.
             </para>
             </remarks>
             <typeparam name="T">Type of object to pool.</typeparam>
        </member>
        <member name="M:GSF.ReusableObjectPool`1.TakeObject">
            <summary>
            Gets an object from the pool, or creates a new one if no pool items are available.
            </summary>
            <returns>An available object from the pool, or a new one if no pool items are available.</returns>
            <remarks>
            If type of <typeparamref name="T"/> implements <see cref="T:GSF.ISupportLifecycle"/>, the pool will attach
            to the item's <see cref="E:GSF.ISupportLifecycle.Disposed"/> event such that the object can be automatically
            restored to the pool upon <see cref="M:System.IDisposable.Dispose"/>. It will be up to class implementors to
            make sure <see cref="M:GSF.ISupportLifecycle.Initialize"/> makes the class ready for use as this method will
            always be called for an object being taken from the pool.
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool`1.ReturnObject(`0)">
            <summary>
            Returns object to the pool.
            </summary>
            <param name="item">Reference to the object being returned.</param>
            <remarks>
            If type of <typeparamref name="T"/> implements <see cref="T:GSF.ISupportLifecycle"/>, the pool will automatically
            return the item to the pool when the <see cref="E:GSF.ISupportLifecycle.Disposed"/> event is raised, usually when
            the object's <see cref="M:System.IDisposable.Dispose"/> method is called.
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool`1.Clear">
            <summary>
            Releases all the objects currently cached in the pool.
            </summary>
        </member>
        <member name="M:GSF.ReusableObjectPool`1.SetPoolSize(System.Int32)">
            <summary>
            Allocates the pool to the desired <paramref name="size"/>.
            </summary>
            <param name="size">Desired pool size.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Pool <paramref name="size"/> must at least be one.</exception>
        </member>
        <member name="M:GSF.ReusableObjectPool`1.GetPoolSize">
            <summary>
            Gets the number of items currently contained in the pool.
            </summary>
            <returns>The size of the pool.</returns>
        </member>
        <member name="F:GSF.ReusableObjectPool`1.Default">
            <summary>
            Default static instance which can be shared throughout the application.
            </summary>
        </member>
        <member name="T:GSF.ReusableObjectPool">
            <summary>
            Represents a reusable object pool that can be used by an application.
            </summary>
            <remarks>
            <para>
            See <see cref="T:GSF.ReusableObjectPool`1"/> for more details on using object pooling.
            </para>
            <para>
            <see cref="T:GSF.ReusableObjectPool"/> should be used when you only have the <see cref="T:System.Type"/> of an object available (such as when you are
            using reflection), otherwise you should use the generic <see cref="T:GSF.ReusableObjectPool`1"/>.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool.TakeObject(System.Type)">
            <summary>
            Gets an object from the pool, or creates a new one if no pool items are available.
            </summary>
            <param name="type">Type of object to get from pool.</param>
            <returns>An available object from the pool, or a new one if no pool items are available.</returns>
            <exception cref="T:System.InvalidOperationException"><paramref name="type"/> does not support parameterless public constructor.</exception>
            <remarks>
            If <paramref name="type"/> implements <see cref="T:GSF.ISupportLifecycle"/>, the pool will attach
            to the item's <see cref="E:GSF.ISupportLifecycle.Disposed"/> event such that the object can be automatically
            restored to the pool upon <see cref="M:System.IDisposable.Dispose"/>. It will be up to class implementors to
            make sure <see cref="M:GSF.ISupportLifecycle.Initialize"/> makes the class ready for use as this method will
            always be called for an object being taken from the pool.
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool.TakeObject``1(System.Type)">
            <summary>
            Gets an object from the pool, or creates a new one if no pool items are available.
            </summary>
            <param name="type">Type of object to get from pool.</param>
            <typeparam name="T">Type of returned object to get from pool.</typeparam>
            <returns>An available object from the pool, or a new one if no pool items are available.</returns>
            <exception cref="T:System.InvalidOperationException">
            <paramref name="type"/> does not support parameterless public constructor -or- 
            <paramref name="type"/> is not a subclass or interface implementation of function type definition.
            </exception>
            <remarks>
            <para>
            This function will validate that <typeparamref name="T"/> is related to <paramref name="type"/>.
            </para>
            <para>
            If <paramref name="type"/> implements <see cref="T:GSF.ISupportLifecycle"/>, the pool will attach
            to the item's <see cref="E:GSF.ISupportLifecycle.Disposed"/> event such that the object can be automatically
            restored to the pool upon <see cref="M:System.IDisposable.Dispose"/>. It will be up to class implementors to
            make sure <see cref="M:GSF.ISupportLifecycle.Initialize"/> makes the class ready for use as this method will
            always be called for an object being taken from the pool.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool.ReturnObject(System.Object)">
            <summary>
            Returns object to the pool.
            </summary>
            <param name="item">Reference to the object being returned.</param>
            <remarks>
            If type of <paramref name="item"/> implements <see cref="T:GSF.ISupportLifecycle"/>, the pool will automatically
            return the item to the pool when the <see cref="E:GSF.ISupportLifecycle.Disposed"/> event is raised, usually when
            the object's <see cref="M:System.IDisposable.Dispose"/> method is called.
            </remarks>
        </member>
        <member name="M:GSF.ReusableObjectPool.Clear(System.Type)">
            <summary>
            Releases all the objects currently cached in the specified pool.
            </summary>
            <param name="type">Type of pool to clear.</param>
        </member>
        <member name="M:GSF.ReusableObjectPool.SetPoolSize(System.Type,System.Int32)">
            <summary>
            Allocates the pool to the desired <paramref name="size"/>.
            </summary>
            <param name="type">Type of pool to initialize.</param>
            <param name="size">Desired pool size.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">Pool <paramref name="size"/> must at least be one.</exception>
        </member>
        <member name="T:GSF.Scheduling.NamespaceDoc">
            <summary>
            Contains classes used to schedule operations using standard UNIX crontab syntax.
            </summary>
        </member>
        <member name="T:GSF.Searching.AsyncSearcher`1">
            <summary>
            Uses reflection to search a collection of items for a given search string.
            </summary>
            <typeparam name="TSearch">The type of the objects to be searched.</typeparam>
        </member>
        <member name="M:GSF.Searching.AsyncSearcher`1.#ctor">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Searching.AsyncSearcher`1"/> class.
            </summary>
        </member>
        <member name="M:GSF.Searching.AsyncSearcher`1.Add(System.Collections.Generic.IEnumerable{`0})">
            <summary>
            Adds a collection of items to the search.
            </summary>
            <param name="itemsToSearch">The items to be searched.</param>
        </member>
        <member name="M:GSF.Searching.AsyncSearcher`1.Clear">
            <summary>
            Clears the queue of items to search.
            </summary>
            <remarks>
            After a search is cancelled, there may still
            be items lingering in the queue. This method
            allows the user to clear them out.
            </remarks>
        </member>
        <member name="M:GSF.Searching.AsyncSearcher`1.Cancel">
            <summary>
            Cancels currently running searches.
            </summary>
        </member>
        <member name="E:GSF.Searching.AsyncSearcher`1.MatchesFound">
            <summary>
            Event triggered when the searcher finds a match.
            </summary>
        </member>
        <member name="E:GSF.Searching.AsyncSearcher`1.SearchComplete">
            <summary>
            Event triggered when the searcher has finished searching all the items in its queue.
            </summary>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.SearchText">
            <summary>
            Gets or sets the text to be searched for.
            </summary>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.SearchCategories">
            <summary>
            Gets the names of the properties to which
            the search string will be applied.
            </summary>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.IgnoreCase">
            <summary>
            Gets or sets the flag that determines whether
            to ignore case when running the search.
            </summary>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.UseWildcards">
            <summary>
            Gets or sets the flag that determines whether to process
            <c>*</c>, <c>?</c>, and <c>-</c> characters as wildcards.
            </summary>
            <remarks>
            The <see cref="P:GSF.Searching.AsyncSearcher`1.UseRegex"/> property supercedes this property.
            In order to use wildcards, <c>UseRegex</c> must be set to <c>false</c>.
            </remarks>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.UseRegex">
            <summary>
            Gets or sets the flag that determines whether to
            process the search tokens as regular expressions.
            </summary>
            <remarks>
            This property supercedes the <see cref="P:GSF.Searching.AsyncSearcher`1.UseWildcards"/> property.
            In order to use wildcards, this property must be set to <c>false</c>.
            </remarks>
        </member>
        <member name="P:GSF.Searching.AsyncSearcher`1.Searching">
            <summary>
            Gets the flag that indicates whether the <see cref="T:GSF.Searching.AsyncSearcher`1"/>
            is in the middle of a search operation.
            </summary>
        </member>
        <member name="T:GSF.Security.Cryptography.NamespaceDoc">
            <summary>
            Contains classes and extension functions used to simplify and standardize usage of basic cryptography using a combination 
            of standard and proprietary encryption algorithms to produce decent obfuscations of strings, buffers and streams of data.
            </summary>
        </member>
        <member name="T:GSF.Security.Cryptography.Random">
            <summary>
            Generates cryptographically strong random numbers.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Between(System.Double,System.Double)">
            <summary>
            Generates a cryptographically strong random integer between specified values.
            </summary>
            <param name="startNumber">A <see cref="T:System.Double"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.Double"/> that is the high end of our range.</param>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <returns>A <see cref="T:System.Double"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>, or an excception.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.GetBytes(System.Byte[])">
            <summary>
            Fills an array of bytes with a cryptographically strong sequence of random values.
            </summary>
            <param name="buffer">The array to fill with a cryptographically strong sequence of random values.</param>
            <remarks>
            <para>The length of the byte array determines how many cryptographically strong random bytes are produced.</para>
            <para>This method is thread safe.</para>
            </remarks>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <exception cref="T:System.ArgumentNullException">buffer is null.</exception>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.ByteBetween(System.Byte,System.Byte)">
            <summary>
            Generates a cryptographically strong 8-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.Byte"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.Byte"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.Byte"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Int16Between(System.Int16,System.Int16)">
            <summary>
            Generates a cryptographically strong 16-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.Int16"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.Int16"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.Int16"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.UInt16Between(System.UInt16,System.UInt16)">
            <summary>
            Generates a cryptographically strong unsigned 16-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.UInt16"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.UInt16"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.UInt16"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Int24Between(GSF.Int24,GSF.Int24)">
            <summary>
            Generates a cryptographically strong 24-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="P:GSF.Security.Cryptography.Random.Int24"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="P:GSF.Security.Cryptography.Random.Int24"/> that is the high end of our range.</param>
            <returns>A <see cref="P:GSF.Security.Cryptography.Random.Int24"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Int24Between(GSF.UInt24,GSF.UInt24)">
            <summary>
            Generates a cryptographically strong unsigned 24-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="P:GSF.Security.Cryptography.Random.UInt24"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="P:GSF.Security.Cryptography.Random.UInt24"/> that is the high end of our range.</param>
            <returns>A <see cref="P:GSF.Security.Cryptography.Random.UInt24"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Int32Between(System.Int32,System.Int32)">
            <summary>
            Generates a cryptographically strong 32-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.Int32"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.Int32"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.Int32"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.UInt32Between(System.UInt32,System.UInt32)">
            <summary>
            Generates a cryptographically strong unsigned 32-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.UInt32"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.UInt32"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.UInt32"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.Int64Between(System.Int64,System.Int64)">
            <summary>
            Generates a cryptographically strong 64-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.Int64"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.Int64"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.Int64"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Random.UInt64Between(System.UInt64,System.UInt64)">
            <summary>
            Generates a cryptographically strong unsigned 64-bit random integer between specified values.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
            <param name="startNumber">A <see cref="T:System.UInt64"/> that is the low end of our range.</param>
            <param name="stopNumber">A <see cref="T:System.UInt64"/> that is the high end of our range.</param>
            <returns>A <see cref="T:System.UInt64"/> that is generated between the <paramref name="startNumber"/> and the <paramref name="stopNumber"/>.</returns>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Number">
            <summary>
            Generates a cryptographically strong double-precision floating-point random number between zero and one.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Decimal">
            <summary>
            Generates a cryptographically strong random decimal between zero and one.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Boolean">
            <summary>
            Generates a cryptographically strong random boolean (i.e., a coin toss).
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Byte">
            <summary>
            Generates a cryptographically strong 8-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Int16">
            <summary>
            Generates a cryptographically strong 16-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.UInt16">
            <summary>
            Generates a cryptographically strong unsigned 16-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Int24">
            <summary>
            Generates a cryptographically strong 24-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.UInt24">
            <summary>
            Generates a cryptographically strong unsigned 24-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Int32">
            <summary>
            Generates a cryptographically strong 32-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.UInt32">
            <summary>
            Generates a cryptographically strong unsigned 32-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.Int64">
            <summary>
            Generates a cryptographically strong 64-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="P:GSF.Security.Cryptography.Random.UInt64">
            <summary>
            Generates a cryptographically strong unsigned 64-bit random integer.
            </summary>
            <exception cref="T:System.Security.Cryptography.CryptographicException">The cryptographic service provider (CSP) cannot be acquired.</exception>
        </member>
        <member name="T:GSF.Reflection.AssemblyExtensions">
            <summary>Defines extension functions related to Assemblies.</summary>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.ShortName(System.Reflection.Assembly)">
            <summary>Returns only assembly name and version from full assembly name.</summary>
            <param name="assemblyInstance">An <see cref="T:System.Reflection.Assembly"/> to get the short name of.</param>
            <returns>The assembly name and version from the full assembly name.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.GetEmbeddedResource(System.Reflection.Assembly,System.String)">
            <summary>Gets the specified embedded resource from the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <param name="resourceName">The full name (including the namespace) of the embedded resource to get.</param>
            <returns>The embedded resource.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Title(System.Reflection.Assembly)">
            <summary>Gets the title information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The title information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Description(System.Reflection.Assembly)">
            <summary>Gets the description information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The description information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Company(System.Reflection.Assembly)">
            <summary>Gets the company name information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The company name information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Product(System.Reflection.Assembly)">
            <summary>Gets the product name information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The product name information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Copyright(System.Reflection.Assembly)">
            <summary>Gets the copyright information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The copyright information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Trademark(System.Reflection.Assembly)">
            <summary>Gets the trademark information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The trademark information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Configuration(System.Reflection.Assembly)">
            <summary>Gets the configuration information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The configuration information of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.DelaySign(System.Reflection.Assembly)">
            <summary>Gets a boolean value indicating if the assembly has been built as delay-signed.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>True, if the assembly has been built as delay-signed; otherwise, False.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.InformationalVersion(System.Reflection.Assembly)">
            <summary>Gets the version information of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The version information of the assembly</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.KeyFile(System.Reflection.Assembly)">
            <summary>Gets the name of the file containing the key pair used to generate a strong name for the attributed assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>A string containing the name of the file that contains the key pair.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.CultureName(System.Reflection.Assembly)">
            <summary>Gets the culture name of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The culture name of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.SatelliteContractVersion(System.Reflection.Assembly)">
            <summary>Gets the assembly version used to instruct the System.Resources.ResourceManager to ask for a particular
            version of a satellite assembly to simplify updates of the main assembly of an application.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The satellite contract version of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.ComCompatibleVersion(System.Reflection.Assembly)">
            <summary>Gets the string representing the assembly version used to indicate to a COM client that all classes
            in the current version of the assembly are compatible with classes in an earlier version of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The string representing the assembly version in MajorVersion.MinorVersion.RevisionNumber.BuildNumber
            format.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.ComVisible(System.Reflection.Assembly)">
            <summary>Gets a boolean value indicating if the assembly is exposed to COM.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>True, if the assembly is exposed to COM; otherwise, False.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.Guid(System.Reflection.Assembly)">
            <summary>Gets the assembly GUID that is used as an ID if the assembly is exposed to COM.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The assembly GUID that is used as an ID if the assembly is exposed to COM.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.TypeLibVersion(System.Reflection.Assembly)">
            <summary>Gets the string representing the assembly version number in MajorVersion.MinorVersion format.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The string representing the assembly version number in MajorVersion.MinorVersion format.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.CLSCompliant(System.Reflection.Assembly)">
            <summary>Gets a boolean value indicating whether the indicated program element is CLS-compliant.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>True, if the program element is CLS-compliant; otherwise, False.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.BuildDate(System.Reflection.Assembly)">
            <summary>Gets the date and time when the assembly was last built.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The date and time when the assembly was last built.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.RootNamespace(System.Reflection.Assembly)">
            <summary>Gets the root namespace of the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>The root namespace of the assembly.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.GetAttributes(System.Reflection.Assembly)">
            <summary>Gets a name/value collection of assembly attributes exposed by the assembly.</summary>
            <param name="assemblyInstance">Source assembly.</param>
            <returns>A NameValueCollection of assembly attributes.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyExtensions.TryLoadAllReferences(System.Reflection.Assembly)">
            <summary>
            Recursively attempts to load all assemblies referenced from the given assembly.
            </summary>
            <param name="assemblyInstance">The assembly whose references are to be loaded.</param>
            <returns>True if the references were successfully loaded; false otherwise.</returns>
            <remarks>
            If an object is created from a type that is loaded from an assembly, and if that
            assembly's references fail to load during instantiation, an exception may be thrown
            from both the constructor and the finalizer of the object that was instantiated.
            This method allows us to ensure that all referenced assemblies can be loaded
            before attempting to instantiate a type from that assembly.
            </remarks>
        </member>
        <member name="T:GSF.Reflection.AssemblyInfo">
            <summary>
            Represents a common information provider for an assembly.
            </summary>
        </member>
        <member name="M:GSF.Reflection.AssemblyInfo.#ctor(System.Reflection.Assembly)">
            <summary>Initializes a new instance of the <see cref="T:GSF.Reflection.AssemblyInfo"/> class.</summary>
            <param name="assemblyInstance">An <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> object.</param>
        </member>
        <member name="M:GSF.Reflection.AssemblyInfo.GetAttributes">
            <summary>Gets a collection of assembly attributes exposed by the assembly.</summary>
            <returns>A System.Specialized.KeyValueCollection of assembly attributes.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyInfo.GetCustomAttribute(System.Type)">
            <summary>Gets the specified assembly attribute if it is exposed by the assembly.</summary>
            <param name="attributeType">Type of the attribute to get.</param>
            <returns>The requested assembly attribute if it exists; otherwise null.</returns>
            <remarks>
            This method always returns <c>null</c> under Mono deployments.
            </remarks>
        </member>
        <member name="M:GSF.Reflection.AssemblyInfo.GetEmbeddedResource(System.String)">
            <summary>Gets the specified embedded resource from the assembly.</summary>
            <param name="resourceName">The full name (including the namespace) of the embedded resource to get.</param>
            <returns>The embedded resource.</returns>
        </member>
        <member name="M:GSF.Reflection.AssemblyInfo.LoadAssemblyFromResource(System.String)">
            <summary>Loads the specified assembly that is embedded as a resource in the assembly.</summary>
            <param name="assemblyName">Name of the assembly to load.</param>
            <remarks>This cannot be used to load GSF.Core itself.</remarks>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Assembly">
            <summary>
            Gets the underlying <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> being represented by this <see cref="T:GSF.Reflection.AssemblyInfo"/> object.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Title">
            <summary>
            Gets the title information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Description">
            <summary>
            Gets the description information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Company">
            <summary>
            Gets the company name information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Product">
            <summary>
            Gets the product name information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Copyright">
            <summary>
            Gets the copyright information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Trademark">
            <summary>
            Gets the trademark information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Configuration">
            <summary>
            Gets the configuration information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.DelaySign">
            <summary>
            Gets a boolean value indicating if the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> has been built as delay-signed.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.InformationalVersion">
            <summary>
            Gets the version information of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.KeyFile">
            <summary>
            Gets the name of the file containing the key pair used to generate a strong name for the attributed <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.CultureName">
            <summary>
            Gets the culture name of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.SatelliteContractVersion">
            <summary>
            Gets the assembly version used to instruct the System.Resources.ResourceManager to ask for a particular
            version of a satellite assembly to simplify updates of the main assembly of an application.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.ComCompatibleVersion">
            <summary>
            Gets the string representing the assembly version used to indicate to a COM client that all classes
            in the current version of the assembly are compatible with classes in an earlier version of the assembly.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.ComVisible">
            <summary>
            Gets a boolean value indicating if the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> is exposed to COM.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Guid">
            <summary>
            Gets the GUID that is used as an ID if the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> is exposed to COM.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.TypeLibVersion">
            <summary>
            Gets the string representing the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> version number in MajorVersion.MinorVersion format.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.CLSCompliant">
            <summary>
            Gets a boolean value indicating whether the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> is CLS-compliant.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Location">
            <summary>
            Gets the path or UNC location of the loaded file that contains the manifest.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.CodeBase">
            <summary>
            Gets the location of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> as specified originally.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.FullName">
            <summary>
            Gets the display name of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Name">
            <summary>
            Gets the simple, unencrypted name of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.Version">
            <summary>
            Gets the major, minor, revision, and build numbers of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.ImageRuntimeVersion">
            <summary>
            Gets the string representing the version of the common language runtime (CLR) saved in the file
            containing the manifest.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.GACLoaded">
            <summary>
            Gets a boolean value indicating whether the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> was loaded from the global assembly cache.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.BuildDate">
            <summary>
            Gets the date and time when the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/> was built.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.RootNamespace">
            <summary>
            Gets the root namespace of the <see cref="P:GSF.Reflection.AssemblyInfo.Assembly"/>.
            </summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.CallingAssembly">
            <summary>Gets the <see cref="T:GSF.Reflection.AssemblyInfo"/> object of the assembly that invoked the currently executing method.</summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.EntryAssembly">
            <summary>Gets the <see cref="T:GSF.Reflection.AssemblyInfo"/> object of the process executable in the default application domain.</summary>
        </member>
        <member name="P:GSF.Reflection.AssemblyInfo.ExecutingAssembly">
            <summary>Gets the <see cref="T:GSF.Reflection.AssemblyInfo"/> object of the assembly that contains the code that is currently executing.</summary>
        </member>
        <member name="T:GSF.Reflection.MemberInfoExtensions">
            <summary>
            Defines extensions methods related to <see cref="T:System.Reflection.MemberInfo"/> objects and derived types (e.g., <see cref="T:System.Reflection.FieldInfo"/>,
            <see cref="T:System.Reflection.PropertyInfo"/>, <see cref="T:System.Reflection.MethodInfo"/>, etc.)
            </summary>
        </member>
        <member name="M:GSF.Reflection.MemberInfoExtensions.TryGetAttribute``2(``0,``1@)">
            <summary>
            Attempts to get the specified <paramref name="attribute"/> from a <see cref="T:System.Reflection.MemberInfo"/> object, returning <c>true</c> if it does.
            </summary>
            <param name="member">The <see cref="T:System.Reflection.MemberInfo"/> object over which to search attributes.</param>
            <param name="attribute">The <see cref="T:System.Attribute"/> that was found, if any.</param>
            <returns><c>true</c> if <paramref name="attribute"/> was found; otherwise <c>false</c>.</returns>
            <typeparam name="TMemberInfo"><see cref="T:System.Reflection.MemberInfo"/> or derived type to get <see cref="T:System.Attribute"/> from.</typeparam>
            <typeparam name="TAttribute"><see cref="T:System.Type"/> of <see cref="T:System.Attribute"/> to attempt to retrieve.</typeparam>
            <remarks>
            If more than of the same type of attribute exists on the member, only the first one is returned.
            </remarks>
        </member>
        <member name="M:GSF.Reflection.MemberInfoExtensions.TryGetAttributes``2(``0,``1[]@)">
            <summary>
            Attempts to get the specified <paramref name="attributes"/> from a <see cref="T:System.Reflection.MemberInfo"/> object, returning <c>true</c> if it does.
            </summary>
            <param name="member">The <see cref="T:System.Reflection.MemberInfo"/> object over which to search attributes.</param>
            <param name="attributes">The array of <see cref="T:System.Attribute"/> objects that were found, if any.</param>
            <returns><c>true</c> if <paramref name="attributes"/> was found; otherwise <c>false</c>.</returns>
            <typeparam name="TMemberInfo"><see cref="T:System.Reflection.MemberInfo"/> or derived type to get <see cref="T:System.Attribute"/> from.</typeparam>
            <typeparam name="TAttribute"><see cref="T:System.Type"/> of <see cref="T:System.Attribute"/> to attempt to retrieve.</typeparam>
        </member>
        <member name="M:GSF.Reflection.MemberInfoExtensions.TryGetAttribute``1(``0,System.Type,System.Attribute@)">
            <summary>
            Attempts to get the specified <paramref name="attribute"/> from a <see cref="T:System.Reflection.MemberInfo"/> object, returning <c>true</c> if it does.
            </summary>
            <param name="member">The <see cref="T:System.Reflection.MemberInfo"/> object over which to search attributes.</param>
            <param name="attributeType">The actual type of the <see cref="T:System.Attribute"/> to look for.</param>
            <param name="attribute">The <see cref="T:System.Attribute"/> that was found, if any.</param>
            <returns><c>true</c> if <paramref name="attribute"/> was found; otherwise <c>false</c>.</returns>
            <typeparam name="TMemberInfo"><see cref="T:System.Reflection.MemberInfo"/> or derived type to get <see cref="T:System.Attribute"/> from.</typeparam>
            <remarks>
            If more than of the same type of attribute exists on the member, only the first one is returned.
            </remarks>
        </member>
        <member name="M:GSF.Reflection.MemberInfoExtensions.TryGetAttributes``1(``0,System.Type,System.Attribute[]@)">
            <summary>
            Attempts to get the specified <paramref name="attributes"/> from a <see cref="T:System.Reflection.MemberInfo"/> object, returning <c>true</c> if it does.
            </summary>
            <param name="member">The <see cref="T:System.Reflection.MemberInfo"/> object over which to search attributes.</param>
            <param name="attributeType">The actual type of the <see cref="T:System.Attribute"/> objects to look for.</param>
            <param name="attributes">The array of <see cref="T:System.Attribute"/> objects that were found, if any.</param>
            <returns><c>true</c> if <paramref name="attributes"/> was found; otherwise <c>false</c>.</returns>
            <typeparam name="TMemberInfo"><see cref="T:System.Reflection.MemberInfo"/> or derived type to get <see cref="T:System.Attribute"/> from.</typeparam>
        </member>
        <member name="T:GSF.Scheduling.Schedule">
            <summary>
            Represents a schedule defined using UNIX crontab syntax.
            </summary>
            <remarks>
            <para>
            Operators:
            </para>
            <para>
            There are several ways of specifying multiple date/time values in a field:
            <list type="bullet">
            <item>
                <description>
                    The comma (',') operator specifies a list of values, for example: "1,3,4,7,8"
                </description>
            </item>
            <item>
                <description>
                    The dash ('-') operator specifies a range of values, for example: "1-6",
                    which is equivalent to "1,2,3,4,5,6"
                </description>
            </item>
            <item>
                <description>
                    The asterisk ('*') operator specifies all possible values for a field.
                    For example, an asterisk in the hour time field would be equivalent to
                    'every hour' (subject to matching other specified fields).
                </description>
            </item>
            <item>
                <description>
                    The slash ('/') operator (called "step"), which can be used to skip a given
                    number of values. For example, "*/3" in the hour time field is equivalent
                    to "0,3,6,9,12,15,18,21". So "*" specifies 'every hour' but the "*/3" means
                    only those hours divisible by 3.
                </description>
            </item>
            </list>
            </para>
            <para>
            Fields:
            </para>
            <para>
            <code>
                +---------------- minute (0 - 59)
                |  +------------- hour (0 - 23)
                |  |  +---------- day of month (1 - 31)
                |  |  |  +------- month (1 - 12)
                |  |  |  |  +---- day of week (0 - 7) (Sunday=0 or 7)
                |  |  |  |  |
                *  *  *  *  *
            </code>
            </para>
            <para>
            Each of the patterns from the first five fields may be either * (an asterisk), which matches all legal values,
            or a list of elements separated by commas. 
            </para>
            <para>
            See <a href="http://en.wikipedia.org/wiki/Cron" target="_blank">http://en.wikipedia.org/wiki/Cron</a> for more information.
            </para>
            </remarks>
            <seealso cref="T:GSF.Scheduling.SchedulePart"/>
            <seealso cref="T:GSF.Scheduling.ScheduleManager"/>
        </member>
        <member name="M:GSF.Scheduling.Schedule.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.Schedule"/> class.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.Schedule.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.Schedule"/> class.
            </summary>
            <param name="name">Name of the schedule.</param>
            <remarks>Default <see cref="P:GSF.Scheduling.Schedule.Rule"/> of '* * * * *' is used.</remarks>
        </member>
        <member name="M:GSF.Scheduling.Schedule.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.Schedule"/> class.
            </summary>
            <param name="name">Name of the schedule.</param>
            <param name="rule">Rule formated in UNIX crontab syntax.</param>
        </member>
        <member name="M:GSF.Scheduling.Schedule.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.Schedule"/> class.
            </summary>
            <param name="name">Name of the schedule.</param>
            <param name="rule">Rule formated in UNIX crontab syntax.</param>
            <param name="description">Description of defined schedule.</param>
        </member>
        <member name="M:GSF.Scheduling.Schedule.IsDue">
            <summary>
            Checks whether the <see cref="T:GSF.Scheduling.Schedule"/> is due at the present system time.
            </summary>
            <returns>true if the <see cref="T:GSF.Scheduling.Schedule"/> is due at the present system time; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.Schedule.GetHashCode">
            <summary>
            Gets a hash code for the <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <returns>An <see cref="T:System.Int32"/> based hashcode.</returns>
        </member>
        <member name="M:GSF.Scheduling.Schedule.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:GSF.Scheduling.Schedule"/> is equal to the current <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <param name="obj">The <see cref="T:GSF.Scheduling.Schedule"/> to compare with the current <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <returns>
            true if the specified <see cref="T:GSF.Scheduling.Schedule"/> is equal to the current <see cref="T:GSF.Scheduling.Schedule"/>; otherwise false
            </returns>
        </member>
        <member name="M:GSF.Scheduling.Schedule.ToString">
            <summary>
            Gets the string representation of <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <returns>String representation of <see cref="T:GSF.Scheduling.Schedule"/>.</returns>
        </member>
        <member name="P:GSF.Scheduling.Schedule.Name">
            <summary>
            Gets or sets the name of the <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.Scheduling.Schedule.Rule">
            <summary>
            Gets or sets the rule of the <see cref="T:GSF.Scheduling.Schedule"/> defined in UNIX crontab syntax.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
            <exception cref="T:System.ArgumentException">The number of <see cref="T:GSF.Scheduling.SchedulePart"/> in the rule is not exactly 5.</exception>
        </member>
        <member name="P:GSF.Scheduling.Schedule.Description">
            <summary>
            Gets or sets a description of the <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <remarks>A default description is created automatically when the <see cref="P:GSF.Scheduling.Schedule.Rule"/> is set.</remarks>
        </member>
        <member name="P:GSF.Scheduling.Schedule.MinutePart">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePart"/> of the <see cref="T:GSF.Scheduling.Schedule"/> that represents minute <see cref="T:GSF.Scheduling.DateTimePart"/>.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.HourPart">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePart"/> of the <see cref="T:GSF.Scheduling.Schedule"/> that represents hour <see cref="T:GSF.Scheduling.DateTimePart"/>.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.DayPart">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePart"/> of the <see cref="T:GSF.Scheduling.Schedule"/> that represents day of month <see cref="T:GSF.Scheduling.DateTimePart"/>.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.MonthPart">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePart"/> of the <see cref="T:GSF.Scheduling.Schedule"/> that represents month <see cref="T:GSF.Scheduling.DateTimePart"/>.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.DaysOfWeekPart">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePart"/> of the <see cref="T:GSF.Scheduling.Schedule"/> that represents day of week <see cref="T:GSF.Scheduling.DateTimePart"/>.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.LastDueAt">
            <summary>
            Gets the <see cref="T:System.DateTime"/> when the <see cref="T:GSF.Scheduling.Schedule"/> was last due.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.Schedule.Status">
            <summary>
            Gets the current status of the <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
        </member>
        <member name="T:GSF.Scheduling.ScheduleManager">
            <summary>
            Monitors multiple <see cref="T:GSF.Scheduling.Schedule"/> at an interval of one minute to check if they are due.
            </summary>
            <example>
            This example shows how to use the <see cref="T:GSF.Scheduling.ScheduleManager"/> component:
            <code>
            using System;
            using GSF;
            using GSF.Scheduling;
            
            class Program
            {
                static void Main(string[] args)
                {
                    ScheduleManager scheduler = new ScheduleManager();
                    scheduler.Initialize();
                    // Add event handlers.
                    scheduler.Starting += scheduler_Starting;
                    scheduler.Started += scheduler_Started;
                    scheduler.ScheduleDue += scheduler_ScheduleDue;
                    // Add test schedules.
                    scheduler.AddSchedule("Run.Notepad", "* * * * *");
                    scheduler.AddSchedule("Run.Explorer", "* * * * *");
                    // Start the scheduler.
                    scheduler.Start();
            
                    Console.ReadLine();
                }
            
                static void scheduler_Started(object sender, EventArgs e)
                {
                    Console.WriteLine("Scheduler has started successfully.");
                }
            
                static void scheduler_Starting(object sender, EventArgs e)
                {
                    Console.WriteLine("Scheduler is waiting to be started.");
                }
            
                static void scheduler_ScheduleDue(object sender, EventArgs<![CDATA[<]]>Schedule<![CDATA[>]]> e)
                {
                    Console.WriteLine(string.Format("{0} schedule is due for processing.", e.Argument.Name));
                }
            }
            </code>
            </example>
            <seealso cref="T:GSF.Scheduling.Schedule"/>
        </member>
        <member name="F:GSF.Scheduling.ScheduleManager.DefaultPersistSettings">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Scheduling.ScheduleManager.PersistSettings"/> property.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.ScheduleManager.DefaultSettingsCategory">
            <summary>
            Specifies the default value for the <see cref="P:GSF.Scheduling.ScheduleManager.SettingsCategory"/> property.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.ScheduleManager.TimerInterval">
            <summary>
            Number of milliseconds between timer ticks.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.ScheduleManager"/> class.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.#ctor(System.ComponentModel.IContainer)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.ScheduleManager"/> class.
            </summary>
            <param name="container"><see cref="T:System.ComponentModel.IContainer"/> object that contains the <see cref="T:GSF.Scheduling.ScheduleManager"/>.</param>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.Initialize">
            <summary>
            Initializes the <see cref="T:GSF.Scheduling.ScheduleManager"/> object.
            </summary>
            <remarks>
            <see cref="M:GSF.Scheduling.ScheduleManager.Initialize"/> is to be called by user-code directly only if the <see cref="T:GSF.Scheduling.ScheduleManager"/> 
            object is not consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.BeginInit">
            <summary>
            Performs necessary operations before the <see cref="T:GSF.Scheduling.ScheduleManager"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.Scheduling.ScheduleManager.BeginInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.Scheduling.ScheduleManager"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.EndInit">
            <summary>
            Performs necessary operations after the <see cref="T:GSF.Scheduling.ScheduleManager"/> object properties are initialized.
            </summary>
            <remarks>
            <see cref="M:GSF.Scheduling.ScheduleManager.EndInit"/> should never be called by user-code directly. This method exists solely for use 
            by the designer if the <see cref="T:GSF.Scheduling.ScheduleManager"/> object is consumed through the designer surface of the IDE.
            </remarks>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.SaveSettings">
            <summary>
            Saves settings for the <see cref="T:GSF.Scheduling.ScheduleManager"/> object to the config file if the <see cref="P:GSF.Scheduling.ScheduleManager.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Scheduling.ScheduleManager.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.LoadSettings">
            <summary>
            Loads saved settings for the <see cref="T:GSF.Scheduling.ScheduleManager"/> object from the config file if the <see cref="P:GSF.Scheduling.ScheduleManager.PersistSettings"/> 
            property is set to true.
            </summary>
            <exception cref="T:System.Configuration.ConfigurationErrorsException"><see cref="P:GSF.Scheduling.ScheduleManager.SettingsCategory"/> has a value of null or empty string.</exception>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.Start">
            <summary>
            Starts the <see cref="T:GSF.Scheduling.ScheduleManager"/> asynchronously if not running.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.Stop">
            <summary>
            Stops the <see cref="T:GSF.Scheduling.ScheduleManager"/> if running.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.CheckAllSchedules">
            <summary>
            Checks all of the <see cref="P:GSF.Scheduling.ScheduleManager.Schedules"/> to determine if they are due.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.AddSchedule(System.String,System.String)">
            <summary>
            Attempts to add a new <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <param name="scheduleName">Name of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleRule">Rule of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <returns>true if a new <see cref="T:GSF.Scheduling.Schedule"/> was added or an existing one was updated; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.AddSchedule(System.String,System.String,System.Boolean)">
            <summary>
            Attempts to add a new <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <param name="scheduleName">Name of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleRule">Rule of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="updateExisting">true to update existing <see cref="T:GSF.Scheduling.Schedule"/> with the specified <paramref name="scheduleName"/>; otherwise false.</param>
            <returns>true if a new <see cref="T:GSF.Scheduling.Schedule"/> was added or an existing one was updated; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.AddSchedule(System.String,System.String,System.String)">
            <summary>
            Attempts to add a new <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <param name="scheduleName">Name of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleRule">Rule of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleDescription">Description of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <returns>true if a new <see cref="T:GSF.Scheduling.Schedule"/> was added; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.AddSchedule(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Attempts to add a new <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <param name="scheduleName">Name of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleRule">Rule of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="scheduleDescription">Description of the new <see cref="T:GSF.Scheduling.Schedule"/>.</param>
            <param name="updateExisting">true to update existing <see cref="T:GSF.Scheduling.Schedule"/> with the specified <paramref name="scheduleName"/>; otherwise false.</param>
            <returns>true if a new <see cref="T:GSF.Scheduling.Schedule"/> was added or an existing one was updated; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.RemoveSchedule(System.String)">
            <summary>
            Attempts to remove a <see cref="T:GSF.Scheduling.Schedule"/> with the specified name if one exists.
            </summary>
            <param name="scheduleName">Name of the <see cref="T:GSF.Scheduling.Schedule"/> to be removed.</param>
            <returns>true if the <see cref="T:GSF.Scheduling.Schedule"/> was removed; otherwise false.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.FindSchedule(System.String)">
            <summary>
            Searches for the <see cref="T:GSF.Scheduling.Schedule"/> with the specified name.
            </summary>
            <param name="scheduleName">Name of the <see cref="T:GSF.Scheduling.Schedule"/> to be obtained.</param>
            <returns><see cref="T:GSF.Scheduling.Schedule"/> object if a match is found; otherwise null.</returns>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.OnStarting">
            <summary>
            Raises the <see cref="E:GSF.Scheduling.ScheduleManager.Starting"/> event.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.OnStarted">
            <summary>
            Raises the <see cref="E:GSF.Scheduling.ScheduleManager.Started"/> event.
            </summary>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.OnScheduleDue(GSF.Scheduling.Schedule)">
            <summary>
            Raises the <see cref="E:GSF.Scheduling.ScheduleManager.ScheduleDue"/> event.
            </summary>
            <param name="schedule"><see cref="T:GSF.Scheduling.Schedule"/> to send to <see cref="E:GSF.Scheduling.ScheduleManager.ScheduleDue"/> event.</param>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.OnScheduleDueCheck(GSF.EventArgs{GSF.Scheduling.Schedule})">
            <summary>
            Raises the <see cref="E:GSF.Scheduling.ScheduleManager.ScheduleDueCheck"/> event.
            </summary>
            <param name="e">Event data.</param>
        </member>
        <member name="M:GSF.Scheduling.ScheduleManager.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Scheduling.ScheduleManager"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="E:GSF.Scheduling.ScheduleManager.Starting">
            <summary>
            Occurs while the <see cref="T:GSF.Scheduling.ScheduleManager"/> is waiting to start at the top of the minute.
            </summary>
        </member>
        <member name="E:GSF.Scheduling.ScheduleManager.Started">
            <summary>
            Occurs when the <see cref="T:GSF.Scheduling.ScheduleManager"/> has started at the top of the minute.
            </summary>
        </member>
        <member name="E:GSF.Scheduling.ScheduleManager.ScheduleDue">
            <summary>
            Occurs asynchronously when a <see cref="T:GSF.Scheduling.Schedule"/> is due according to the rule specified for it.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:GSF.Scheduling.Schedule"/> that is due.
            </remarks>
        </member>
        <member name="E:GSF.Scheduling.ScheduleManager.ScheduleDueCheck">
            <summary>
            Occurs when the a particular <see cref="T:GSF.Scheduling.Schedule"/> is being checked to see if it is due.
            </summary>
            <remarks>
            <see cref="F:GSF.EventArgs`1.Argument"/> is the <see cref="T:GSF.Scheduling.Schedule"/> that is being checked to see if it is due.
            </remarks>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.PersistSettings">
            <summary>
            Gets or sets a boolean value that indicates whether the settings of <see cref="T:GSF.Scheduling.ScheduleManager"/> object are 
            to be saved to the config file.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.SettingsCategory">
            <summary>
            Gets or sets the category under which the settings of <see cref="T:GSF.Scheduling.ScheduleManager"/> object are to be saved
            to the config file if the <see cref="P:GSF.Scheduling.ScheduleManager.PersistSettings"/> property is set to true.
            </summary>
            <exception cref="T:System.ArgumentNullException">The value being assigned is null or empty string.</exception>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.Schedules">
            <summary>
            Gets a list of all <see cref="T:GSF.Scheduling.Schedule"/> monitored by the <see cref="T:GSF.Scheduling.ScheduleManager"/> object.
            </summary>
            <remarks>
            Thread-safety Warning: Due to the asynchronous nature of <see cref="T:GSF.Scheduling.ScheduleManager"/>, a lock must be 
            obtained on <see cref="P:GSF.Scheduling.ScheduleManager.Schedules"/> before accessing it.
            </remarks>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.IsRunning">
            <summary>
            Gets a boolean value that indicates whether the <see cref="T:GSF.Scheduling.ScheduleManager"/> is running.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.Enabled">
            <summary>
            Gets or sets a boolean value that indicates whether the <see cref="T:GSF.Scheduling.ScheduleManager"/> object is currently enabled.
            </summary>
            <remarks>
            <see cref="P:GSF.Scheduling.ScheduleManager.Enabled"/> property is not be set by user-code directly.
            </remarks>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.Name">
            <summary>
            Gets the unique identifier of the <see cref="T:GSF.Scheduling.ScheduleManager"/> object.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.ScheduleManager.Status">
            <summary>
            Gets the descriptive status of the <see cref="T:GSF.Scheduling.ScheduleManager"/> object.
            </summary>
        </member>
        <member name="T:GSF.Scheduling.DateTimePart">
            <summary>
            Indicates the date/time element that a <see cref="T:GSF.Scheduling.SchedulePart"/> represents.
            </summary>
            <remarks>This enumeration specifically corresponds to the UNIX crontab date/time elements.</remarks>
        </member>
        <member name="F:GSF.Scheduling.DateTimePart.Minute">
            <summary>
            <see cref="T:GSF.Scheduling.SchedulePart"/> represents minutes. Legal values are 0 through 59.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.DateTimePart.Hour">
            <summary>
            <see cref="T:GSF.Scheduling.SchedulePart"/> represents hours. Legal values are 0 through 23.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.DateTimePart.Day">
            <summary>
            <see cref="T:GSF.Scheduling.SchedulePart"/> represents day of month. Legal values are 1 through 31.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.DateTimePart.Month">
            <summary>
            <see cref="T:GSF.Scheduling.SchedulePart"/> represents months. Legal values are 1 through 12.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.DateTimePart.DayOfWeek">
            <summary>
            <see cref="T:GSF.Scheduling.SchedulePart"/> represents day of week. Legal values are 0 through 7 where 0 is Sunday.
            </summary>
        </member>
        <member name="T:GSF.Scheduling.SchedulePartTextSyntax">
            <summary>
            Indicates the syntax used in a <see cref="T:GSF.Scheduling.SchedulePart"/> for specifying its values.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.SchedulePartTextSyntax.Any">
            <summary>
            Values for the <see cref="T:GSF.Scheduling.SchedulePart"/> were specified using the '*' text syntax. Included values are 
            all legal values for the <see cref="T:GSF.Scheduling.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> represents.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.SchedulePartTextSyntax.EveryN">
            <summary>
            Values for the <see cref="T:GSF.Scheduling.SchedulePart"/> were specified using the '*/n' text syntax. Included values are 
            legal values for the <see cref="T:GSF.Scheduling.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> represents that are 
            divisible by 'n'. 
            </summary>
        </member>
        <member name="F:GSF.Scheduling.SchedulePartTextSyntax.Range">
            <summary>
            Values for the <see cref="T:GSF.Scheduling.SchedulePart"/> were specified using the 'n1-nn' text syntax. Included values 
            are legal values for the <see cref="T:GSF.Scheduling.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> represents that
            are within the specified range.
            </summary>
        </member>
        <member name="F:GSF.Scheduling.SchedulePartTextSyntax.Specific">
            <summary>
            Values for the <see cref="T:GSF.Scheduling.SchedulePart"/> were specified using the 'n1,n2,nn' text syntax. Included values 
            are specific legal values for the <see cref="T:GSF.Scheduling.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> represents.
            </summary>
        </member>
        <member name="T:GSF.Scheduling.SchedulePart">
            <summary>
            Represents a part of the <see cref="T:GSF.Scheduling.Schedule"/>.
            </summary>
            <seealso cref="T:GSF.Scheduling.Schedule"/>
        </member>
        <member name="M:GSF.Scheduling.SchedulePart.#ctor(System.String,GSF.Scheduling.DateTimePart)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Scheduling.SchedulePart"/> class.
            </summary>
            <param name="valueText">The text that specifies the values for the <see cref="T:GSF.Scheduling.SchedulePart"/> object.</param>
            <param name="dateTimePart">The <see cref="P:GSF.Scheduling.SchedulePart.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> object represents.</param>
        </member>
        <member name="M:GSF.Scheduling.SchedulePart.Matches(System.DateTime)">
            <summary>
            Determines if the <see cref="P:GSF.Scheduling.SchedulePart.Values"/> for the <see cref="P:GSF.Scheduling.SchedulePart.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> 
            object represents matches the specified <paramref name="dateTime"/>.
            </summary>
            <param name="dateTime">The <see cref="T:System.DateTime"/> against which the <see cref="P:GSF.Scheduling.SchedulePart.Values"/> are to be matches.</param>
            <returns>true if one of the <see cref="P:GSF.Scheduling.SchedulePart.Values"/> matches the <paramref name="dateTime"/>; otherwise false.</returns>
        </member>
        <member name="P:GSF.Scheduling.SchedulePart.ValueText">
            <summary>
            Gets the text used to specify the values for the <see cref="T:GSF.Scheduling.SchedulePart"/> object.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.SchedulePart.DateTimePart">
            <summary>
            Gets the <see cref="P:GSF.Scheduling.SchedulePart.DateTimePart"/> that the <see cref="T:GSF.Scheduling.SchedulePart"/> object represents.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.SchedulePart.ValueTextSyntax">
            <summary>
            Gets the <see cref="T:GSF.Scheduling.SchedulePartTextSyntax"/> used in the <see cref="P:GSF.Scheduling.SchedulePart.ValueText"/> for specifying the 
            values of the <see cref="T:GSF.Scheduling.SchedulePart"/> object.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.SchedulePart.Description">
            <summary>
            Gets a meaningful description of the <see cref="T:GSF.Scheduling.SchedulePart"/> object.
            </summary>
        </member>
        <member name="P:GSF.Scheduling.SchedulePart.Values">
            <summary>
            Gets the list of values for the <see cref="T:GSF.Scheduling.SchedulePart"/> object specified using <see cref="P:GSF.Scheduling.SchedulePart.ValueText"/>.
            </summary>
        </member>
        <member name="T:GSF.Security.Cryptography.CipherStrength">
            <summary>
            Cryptographic strength enumeration.
            </summary>
        </member>
        <member name="F:GSF.Security.Cryptography.CipherStrength.None">
            <summary>Uses no encryption.</summary>
        </member>
        <member name="F:GSF.Security.Cryptography.CipherStrength.Aes128">
            <summary>Uses AES 128-bit encryption.</summary>
        </member>
        <member name="F:GSF.Security.Cryptography.CipherStrength.Aes256">
            <summary>Uses AES 256-bit encryption.</summary>
        </member>
        <member name="T:GSF.Security.Cryptography.Cipher">
            <summary>
            Provides general use cryptographic functions.
            </summary>
            <remarks>
            This class exists to simplify usage of basic cryptography functionality.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.#cctor">
            <summary>
            Static constructor for the <see cref="T:GSF.Security.Cryptography.Cipher"/> class.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.FlushCache(System.Int32)">
            <summary>
            Blocks current thread and waits for any pending save of local system key cache to complete.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or <see cref="F:System.Threading.Timeout.Infinite"/>(-1) to wait indefinitely.</param>
            <remarks>
            <para>
            This method only needs to be used if crypto cache changes could be pending during application shutdown (i.e., executing ciphers with
            new keys that have not been saved, using existing keys does not queue crypto cache updates) to ensure keys are flushed before exit.
            </para>
            <para>
            For most applications it is expected that this method would be rarely needed. However, possible usage scenarios would include:<br/>
            <list type="bullet">
              <item>
                <description>
                Writing an application that establishes crypto keys where application lifetime would be very short (i.e., run, create keys, exit).
                </description>
              </item>
              <item>
                <description>
                Creating new crypto keys during application shutdown (i.e., performing ciphers with non-existing keys at shutdown).
                </description>
              </item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.ReloadCache">
            <summary>
            Manually loads keys into the local system key cache.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVExists(System.String,System.Int32)">
            <summary>
            Determines if a key and initialization vector exists for the given <paramref name="password"/> in the local system key cache.
            </summary>
            <param name="password">User password used for key lookups.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <returns><c>true</c> if a key and initialization vector exists for the given <paramref name="password"/>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.ImportKeyIV(System.String,System.Int32,System.String)">
            <summary>
            Imports a key and initialization vector into the local system key cache.
            </summary>
            <param name="password">User password used for key lookups.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <param name="keyIVText">Text based key and initialization vector to import into local key cache.</param>
            <remarks>
            This method is used to manually import a key created on another computer.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.ExportKeyIV(System.String,System.Int32)">
            <summary>
            Exports a key and initialization vector from the local system key cache.
            </summary>
            <param name="password">User password used for key lookup.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <returns>Text based key and initialization vector exported from local key cache.</returns>
            <remarks>
            This method is used to manually export a key to be installed on another computer. 
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.GetPasswordHash(System.String,System.Int32)">
            <summary>
            Gets the Base64 encoded SHA-256 hash of given user password.
            </summary>
            <param name="password">User password to get hash for.</param>
            <param name="categoryID">Specifies the desired category ID.</param>
            <returns>Base64 encoded SHA-256 hash of user password.</returns>
            <remarks>
            The optional <paramref name="categoryID"/> will be appended to the <paramref name="password"/> to allow
            the same password to be used in different contexts and return different results, when useful.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.String,System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a Base64 encoded string of the returned binary array of the encrypted data, generated with
            the given parameters.
            </summary>
            <param name="source">Source string to encrypt.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when encrypting string.</param>
            <returns>An encrypted version of the source string.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.Byte[],System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of encrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to encrypt.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when encrypting data.</param>
            <returns>An encrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.Byte[],System.Int32,System.Int32,System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of encrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to encrypt.</param>
            <param name="startIndex">Offset into <paramref name="source"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="source"/> buffer to encrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when encrypting data.</param>
            <returns>An encrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.Byte[],System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of encrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to encrypt.</param>
            <param name="key">Encryption key to use to encrypt data.</param>
            <param name="iv">Initialization vector to use to encrypt data.</param>
            <param name="strength">Cryptographic strength to use when encrypting data.</param>
            <returns>An encrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of encrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to encrypt.</param>
            <param name="startIndex">Offset into <paramref name="source"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="source"/> buffer to encrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="key">Encryption key to use to encrypt data.</param>
            <param name="iv">Initialization vector to use to encrypt data.</param>
            <param name="strength">Cryptographic strength to use when encrypting data.</param>
            <returns>An encrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a stream of encrypted data for the given parameters.
            </summary>
            <param name="source">Source stream that contains data to encrypt.</param>
            <param name="key">Encryption key to use to encrypt stream.</param>
            <param name="iv">Initialization vector to use to encrypt stream.</param>
            <param name="strength">Cryptographic strength to use when encrypting stream.</param>
            <returns>An encrypted version of the source stream.</returns>
            <remarks>
            This returns a memory stream of the encrypted results, if the incoming stream is
            very large this will consume a large amount of memory.  In this case use the overload
            that takes the destination stream as a parameter instead.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Encrypt(System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Encrypts input stream onto output stream for the given parameters.
            </summary>
            <param name="source">Source stream that contains data to encrypt.</param>
            <param name="destination">Destination stream used to hold encrypted data.</param>
            <param name="key">Encryption key to use to encrypt stream.</param>
            <param name="iv">Initialization vector to use to encrypt stream.</param>
            <param name="strength">Cryptographic strength to use when encrypting stream.</param>
            <param name="progressHandler">Optional delegate to handle progress updates for encrypting large streams.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.EncryptFile(System.String,System.String,System.String,GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Creates an encrypted file from source file data.
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when encrypting file.</param>
            <param name="progressHandler">Optional delegate to handle progress updates for encrypting large files.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.String,System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a decrypted string from a Base64 encoded string of binary encrypted data from the given
            parameters.
            </summary>
            <param name="source">Source string to decrypt.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when decrypting string.</param>
            <returns>A decrypted version of the source string.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.Byte[],System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of decrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to decrypt.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when decrypting data.</param>
            <returns>A decrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.Byte[],System.Int32,System.Int32,System.String,GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of decrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to decrypt.</param>
            <param name="startIndex">Offset into <paramref name="source"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="source"/> buffer to decrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when decrypting data.</param>
            <returns>A decrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.Byte[],System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of decrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to decrypt.</param>
            <param name="key">Encryption key to use to decrypt data.</param>
            <param name="iv">Initialization vector to use to decrypt data.</param>
            <param name="strength">Cryptographic strength to use when decrypting data.</param>
            <returns>A decrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a binary array of decrypted data for the given parameters.
            </summary>
            <param name="source">Binary array of data to decrypt.</param>
            <param name="startIndex">Offset into <paramref name="source"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="source"/> buffer to decrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="key">Encryption key to use to decrypt data.</param>
            <param name="iv">Initialization vector to use to decrypt data.</param>
            <param name="strength">Cryptographic strength to use when decrypting data.</param>
            <returns>A decrypted version of the source data.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength)">
            <summary>
            Returns a stream of decrypted data for the given parameters.
            </summary>
            <param name="source">Source stream that contains data to decrypt.</param>
            <param name="key">Encryption key to use to decrypt stream.</param>
            <param name="iv">Initialization vector to use to decrypt stream.</param>
            <param name="strength">Cryptographic strength to use when decrypting stream.</param>
            <returns>A decrypted version of the source stream.</returns>
            <remarks>
            This returns a memory stream of the decrypted results, if the incoming stream is
            very large this will consume a large amount of memory.  In this case use the overload
            that takes the destination stream as a parameter instead.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.Decrypt(System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[],GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Decrypts input stream onto output stream for the given parameters.
            </summary>
            <param name="source">Source stream that contains data to decrypt.</param>
            <param name="destination">Destination stream used to hold decrypted data.</param>
            <param name="key">Encryption key to use to decrypt stream.</param>
            <param name="iv">Initialization vector to use to decrypt stream.</param>
            <param name="strength">Cryptographic strength to use when decrypting stream.</param>
            <param name="progressHandler">Optional delegate to handle progress updates for decrypting large streams.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.DecryptFile(System.String,System.String,System.String,GSF.Security.Cryptography.CipherStrength,System.Action{GSF.ProcessProgress{System.Int64}})">
            <summary>
            Creates a decrypted file from source file data.
            </summary>
            <param name="sourceFileName">Source file name.</param>
            <param name="destinationFileName">Destination file name.</param>
            <param name="password">User password used for key lookup.</param>
            <param name="strength">Cryptographic strength to use when decrypting file.</param>
            <param name="progressHandler">Optional delegate to handle progress updates for decrypting large files.</param>
        </member>
        <member name="T:GSF.Security.Cryptography.Cipher.KeyIVCache">
            <summary>
            Represents an inter-process serializable cryptographic key and initialization vector cache.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.GetCryptoKeyIV(System.String,System.Int32)">
            <summary>
            Gets the crypto key and initialization vector for the given user password.
            </summary>
            <param name="password">User password used for key lookup.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <returns>Crypto key, index 0, and initialization vector, index 1, for the given user password.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.KeyIVExists(System.String,System.Int32)">
            <summary>
            Determines if a key and initialization vector exists for the given <paramref name="password"/>.
            </summary>
            <param name="password">User password used for key lookups.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <returns><c>true</c> if a key and initialization vector exists for the given <paramref name="password"/>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.ImportKeyIV(System.String,System.Int32,System.String)">
            <summary>
            Imports a key and initialization vector into the local system key cache.
            </summary>
            <param name="password">User password used for key lookups.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <param name="keyIVText">Text based key and initialization vector to import into local key cache.</param>
            <remarks>
            This method is used to manually import a key created on another computer.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.ExportKeyIV(System.String,System.Int32)">
            <summary>
            Exports a key and initialization vector from the local system key cache.
            </summary>
            <param name="password">User password used for key lookup.</param>
            <param name="keySize">Specifies the desired key size.</param>
            <returns>Text based key and initialization vector exported from local key cache.</returns>
            <remarks>
            This method is used to manually export a key to be installed on another computer. 
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.MergeLeft(GSF.Security.Cryptography.Cipher.KeyIVCache)">
            <summary>
            Merge keys and initialization vectors from another <see cref="T:GSF.Security.Cryptography.Cipher.KeyIVCache"/>, local cache taking precedence.
            </summary>
            <param name="other">Other <see cref="T:GSF.Security.Cryptography.Cipher.KeyIVCache"/> to merge with.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.MergeRight(GSF.Security.Cryptography.Cipher.KeyIVCache)">
            <summary>
            Merge keys and initialization vectors from another <see cref="T:GSF.Security.Cryptography.Cipher.KeyIVCache"/>, other cache taking precedence.
            </summary>
            <param name="other">Other <see cref="T:GSF.Security.Cryptography.Cipher.KeyIVCache"/> to merge with.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.Save">
            <summary>
            Initiates inter-process synchronized save of key and initialization vector table.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.SaveFileData(System.IO.FileStream,System.Byte[])">
            <summary>
            Handles serialization of file to disk; virtual method allows customization (e.g., pre-save encryption and/or data merge).
            </summary>
            <param name="fileStream"><see cref="T:System.IO.FileStream"/> used to serialize data.</param>
            <param name="fileData">File data to be serialized.</param>
            <remarks>
            Consumers overriding this method should not directly call <see cref="P:GSF.IO.InterprocessCache.FileData"/> property to avoid potential dead-locks.
            </remarks>
        </member>
        <member name="M:GSF.Security.Cryptography.Cipher.KeyIVCache.LoadFileData(System.IO.FileStream)">
            <summary>
            Handles deserialization of file from disk; virtual method allows customization (e.g., pre-load decryption and/or data merge).
            </summary>
            <param name="fileStream"><see cref="T:System.IO.FileStream"/> used to deserialize data.</param>
            <returns>Deserialized file data.</returns>
            <remarks>
            Consumers overriding this method should not directly call <see cref="P:GSF.IO.InterprocessCache.FileData"/> property to avoid potential dead-locks.
            </remarks>
        </member>
        <member name="P:GSF.Security.Cryptography.Cipher.KeyIVCache.KeyIVTable">
            <summary>
            Gets a copy of the internal key and initialization vector table.
            </summary>
        </member>
        <member name="P:GSF.Security.Cryptography.Cipher.KeyIVCache.ManagedEncryption">
            <summary>
            Gets or sets a boolean value that determines whether to use AesManaged
            or the CAPI wrapper (AesCryptoServiceProvider) for encryption.
            </summary>
        </member>
        <member name="T:GSF.Security.Cryptography.Standard">
            <summary>
            This class is used internally do define a standard buffer size.
            </summary>
        </member>
        <member name="T:GSF.Security.Cryptography.SymmetricAlgorithmExtensions">
            <summary>
            Defines extension functions related to cryptographic <see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> objects.
            </summary>
        </member>
        <member name="M:GSF.Security.Cryptography.SymmetricAlgorithmExtensions.Encrypt(System.Security.Cryptography.SymmetricAlgorithm,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[])">
            <summary>
            Returns a binary array of encrypted data for the given parameters.
            </summary>
            <param name="algorithm"><see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> to use for encryption.</param>
            <param name="data">Source buffer containing data to encrypt.</param>
            <param name="startIndex">Offset into <paramref name="data"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="data"/> buffer to encrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="key">The secret key to use for the symmetric algorithm.</param>
            <param name="iv">The initialization vector to use for the symmetric algorithm.</param>
            <returns>Encrypted version of <paramref name="data"/> buffer.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.SymmetricAlgorithmExtensions.Encrypt(System.Security.Cryptography.SymmetricAlgorithm,System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[])">
            <summary>
            Encrypts input stream onto output stream for the given parameters.
            </summary>
            <param name="algorithm"><see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> to use for encryption.</param>
            <param name="source">Source stream that contains data to encrypt.</param>
            <param name="destination">Destination stream used to hold encrypted data.</param>
            <param name="key">The secret key to use for the symmetric algorithm.</param>
            <param name="iv">The initialization vector to use for the symmetric algorithm.</param>
        </member>
        <member name="M:GSF.Security.Cryptography.SymmetricAlgorithmExtensions.Decrypt(System.Security.Cryptography.SymmetricAlgorithm,System.Byte[],System.Int32,System.Int32,System.Byte[],System.Byte[])">
            <summary>
            Returns a binary array of decrypted data for the given parameters.
            </summary>
            <param name="algorithm"><see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> to use for decryption.</param>
            <param name="data">Source buffer containing data to decrypt.</param>
            <param name="startIndex">Offset into <paramref name="data"/> buffer.</param>
            <param name="length">Number of bytes in <paramref name="data"/> buffer to decrypt starting from <paramref name="startIndex"/> offset.</param>
            <param name="key">The secret key to use for the symmetric algorithm.</param>
            <param name="iv">The initialization vector to use for the symmetric algorithm.</param>
            <returns>Decrypted version of <paramref name="data"/> buffer.</returns>
        </member>
        <member name="M:GSF.Security.Cryptography.SymmetricAlgorithmExtensions.Decrypt(System.Security.Cryptography.SymmetricAlgorithm,System.IO.Stream,System.IO.Stream,System.Byte[],System.Byte[])">
            <summary>
            Decrypts input stream onto output stream for the given parameters.
            </summary>
            <param name="algorithm"><see cref="T:System.Security.Cryptography.SymmetricAlgorithm"/> to use for decryption.</param>
            <param name="source">Source stream that contains data to decrypt.</param>
            <param name="destination">Destination stream used to hold decrypted data.</param>
            <param name="key">The secret key to use for the symmetric algorithm.</param>
            <param name="iv">The initialization vector to use for the symmetric algorithm.</param>
        </member>
        <member name="T:GSF.SerializationFormat">
            <summary>
            Indicates the format of <see cref="T:System.Object"/> serialization or deserialization.
            </summary>
        </member>
        <member name="F:GSF.SerializationFormat.Xml">
            <summary>
            <see cref="T:System.Object"/> is serialized or deserialized using <see cref="T:System.Runtime.Serialization.DataContractSerializer"/> to XML (eXtensible Markup Language) format.
            </summary>
            <remarks>
            <see cref="T:System.Object"/> can be serialized or deserialized using <see cref="T:System.Xml.Serialization.XmlSerializer"/> by adding the <see cref="T:System.ServiceModel.XmlSerializerFormatAttribute"/> to the <see cref="T:System.Object"/>.
            </remarks>
        </member>
        <member name="F:GSF.SerializationFormat.Json">
            <summary>
            <see cref="T:System.Object"/> is serialized or deserialized using <see cref="T:System.Runtime.Serialization.Json.DataContractJsonSerializer"/> to JSON (JavaScript Object Notation) format.
            </summary>
        </member>
        <member name="F:GSF.SerializationFormat.Binary">
            <summary>
            <see cref="T:System.Object"/> is serialized or deserialized using <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> to binary format.
            </summary>
        </member>
        <member name="T:GSF.Serialization">
            <summary>
            Common serialization related functions.
            </summary>
        </member>
        <member name="M:GSF.Serialization.CloneObject``1(``0)">
            <summary>
            Creates a clone of a serializable object.
            </summary>
            <typeparam name="T">The type of the cloned object.</typeparam>
            <param name="sourceObject">The type source to be cloned.</param>
            <returns>A clone of <paramref name="sourceObject"/>.</returns>
        </member>
        <member name="M:GSF.Serialization.GetObject``1(System.String)">
            <summary>
            Performs XML deserialization on the XML string and returns the typed object for it.
            </summary>
            <remarks>
            This function will throw an error during deserialization if the input data is invalid,
            consider using TryGetObject to prevent needing to implement exception handling.
            </remarks>
            <exception cref="T:System.InvalidOperationException">
            An error occurred during deserialization. The original exception is available using 
            the InnerException property.
            </exception>
            <typeparam name="T">The type of the object to create from the serialized string <paramref name="serializedObject"/>.</typeparam>
            <param name="serializedObject">A <see cref="T:System.String"/> representing the object (<paramref name="serializedObject"/>) to de-serialize.</param>
            <returns>A type T based on <paramref name="serializedObject"/>.</returns>
        </member>
        <member name="M:GSF.Serialization.TryGetObject``1(System.String,``0@)">
            <summary>
            Attempts XML deserialization on the XML string and returns the typed object for it.
            </summary>
            <typeparam name="T">The generic type T that is to be deserialized.</typeparam>
            <param name="serializedObject"><see cref="T:System.String"/> that contains the serialized representation of the object.</param>
            <param name="deserializedObject">An object of type T that is passed in as the container to hold the de-serialized object from the string <paramref name="serializedObject"/>.</param>
            <returns><see cref="T:System.Boolean"/> value indicating if the de-serialization was successful.</returns>
        </member>
        <member name="M:GSF.Serialization.GetObject``1(System.Byte[])">
            <summary>
            Performs binary deserialization on the byte array and returns the typed object for it.
            </summary>
            <remarks>
            This function will throw an error during deserialization if the input data is invalid,
            consider using TryGetObject to prevent needing to implement exception handling.
            </remarks>
            <exception cref="T:System.Runtime.Serialization.SerializationException">Serialized object data is invalid or length is 0.</exception>
            <exception cref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
            <typeparam name="T">The type of the object to create from the serialized byte array <paramref name="serializedObject"/>.</typeparam>
            <param name="serializedObject">A <see cref="T:System.Byte"/> array representing the object (<paramref name="serializedObject"/>) to de-serialize.</param>
            <returns>A type T based on <paramref name="serializedObject"/>.</returns>
        </member>
        <member name="M:GSF.Serialization.TryGetObject``1(System.Byte[],``0@)">
            <summary>
            Attempts binary deserialization on the byte array and returns the typed object for it.
            </summary>
            <param name="serializedObject">A <see cref="T:System.Byte"/> array representing the object (<paramref name="serializedObject"/>) to de-serialize.</param>
            <param name="deserializedObject">A type T object, passed by reference, that is used to be hold the de-serialized object.</param>
            <typeparam name="T">The generic type T that is to be deserialized.</typeparam>
            <returns>A <see cref="T:System.Boolean"/> which indicates whether the de-serialization process was successful.</returns>
        </member>
        <member name="M:GSF.Serialization.GetObject(System.Byte[])">
            <summary>
            Performs binary deserialization on the byte array and returns the object for it.
            </summary>
            <remarks>
            This function will throw an error during deserialization if the input data is invalid,
            consider using TryGetObject to prevent needing to implement exception handling.
            </remarks>
            <exception cref="T:System.Runtime.Serialization.SerializationException">Serialized object data is invalid or length is 0.</exception>
            <exception cref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
            <param name="serializedObject">A <see cref="T:System.Byte"/> array representing the object (<paramref name="serializedObject"/>) to de-serialize.</param>
            <returns>An <see cref="T:System.Object"/> based on <paramref name="serializedObject"/>.</returns>
        </member>
        <member name="M:GSF.Serialization.TryGetObject(System.Byte[],System.Object@)">
            <summary>
            Attempts binary deserialization on the byte array and returns the typed object for it.
            </summary>
            <param name="serializedObject">A <see cref="T:System.Byte"/> array representing the object (<paramref name="serializedObject"/>) to de-serialize.</param>
            <param name="deserializedObject">An <see cref="T:System.Object"/>, passed by reference, that is used to be hold the de-serialized object.</param>
            <returns>A <see cref="T:System.Boolean"/> which indicates whether the de-serialization process was successful.</returns>
        </member>
        <member name="M:GSF.Serialization.GetString(System.Object)">
            <summary>
            Performs XML serialization on the serializable object and returns the output as string.
            </summary>
            <param name="serializableObject">The serializable object.</param>
            <returns>An XML representation of the object if the specified object can be serialized; otherwise an empty string.</returns>
        </member>
        <member name="M:GSF.Serialization.GetBytes(System.Object)">
            <summary>
            Performs binary serialization on the serializable object and returns the output as byte array.
            </summary>
            <param name="serializableObject">The serializable object.</param>
            <returns>A byte array representation of the object if the specified object can be serialized; otherwise an empty array.</returns>
        </member>
        <member name="M:GSF.Serialization.GetStream(System.Object)">
            <summary>
            Performs binary serialization on the serializable object and returns the serialized object as a stream.
            </summary>
            <param name="serializableObject">The serializable object.</param>
            <returns>A memory stream representation of the object if the specified object can be serialized; otherwise an empty stream.</returns>
        </member>
        <member name="F:GSF.Serialization.LegacyBinder">
            <summary>
            Serialization binder used to deserialize files that were serialized using the old library frameworks
            (TVA Code Library, Time Series Framework, TVA.PhasorProtocols, and PMU Connection Tester) into classes
            in the Grid Solutions Framework.
            </summary>
        </member>
        <member name="M:GSF.Serialization.Serialize``1(``0,GSF.SerializationFormat)">
            <summary>
            Serializes an <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the <paramref name="serializableObject"/>.</typeparam>
            <param name="serializableObject"><see cref="T:System.Object"/> to be serialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializableObject"/> is to be serialized.</param>
            <returns>An <see cref="T:System.Array"/> of <see cref="T:System.Byte"/> of the serialized <see cref="T:System.Object"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="serializableObject"/> is null.</exception>
            <exception cref="T:System.NotSupportedException">Specified <paramref name="serializationFormat"/> is not supported.</exception>
        </member>
        <member name="M:GSF.Serialization.Serialize``1(``0,GSF.SerializationFormat,System.IO.Stream)">
            <summary>
            Serializes an <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the <paramref name="serializableObject"/>.</typeparam>
            <param name="serializableObject"><see cref="T:System.Object"/> to be serialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializableObject"/> is to be serialized.</param>
            <param name="serializedOutput"><see cref="T:System.IO.Stream"/> where the <paramref name="serializableObject"/> is to be serialized.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="serializedOutput"/> or <paramref name="serializableObject"/> is null.</exception>
            <exception cref="T:System.NotSupportedException">Specified <paramref name="serializationFormat"/> is not supported.</exception>
        </member>
        <member name="M:GSF.Serialization.Deserialize``1(System.Byte[],GSF.SerializationFormat)">
            <summary>
            Deserializes a serialized <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the deserialized <see cref="T:System.Object"/> to be returned.</typeparam>
            <param name="serializedObject"><see cref="T:System.Array"/> of <see cref="T:System.Byte"/>s containing the serialized <see cref="T:System.Object"/> that is to be deserialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializedObject"/> was serialized.</param>
            <returns>The deserialized <see cref="T:System.Object"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="serializedObject"/> is null.</exception>
            <exception cref="T:System.NotSupportedException">Specified <paramref name="serializationFormat"/> is not supported.</exception>
        </member>
        <member name="M:GSF.Serialization.Deserialize``1(System.IO.Stream,GSF.SerializationFormat)">
            <summary>
            Deserializes a serialized <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the deserialized <see cref="T:System.Object"/> to be returned.</typeparam>
            <param name="serializedObject"><see cref="T:System.IO.Stream"/> containing the serialized <see cref="T:System.Object"/> that is to be deserialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializedObject"/> was serialized.</param>
            <returns>The deserialized <see cref="T:System.Object"/>.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="serializedObject"/> is null.</exception>
            <exception cref="T:System.NotSupportedException">Specified <paramref name="serializationFormat"/> is not supported.</exception>
        </member>
        <member name="M:GSF.Serialization.TryDeserialize``1(System.Byte[],GSF.SerializationFormat,``0@)">
            <summary>
            Attempts to deserialize a serialized <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the deserialized <see cref="T:System.Object"/> to be returned.</typeparam>
            <param name="serializedObject"><see cref="T:System.Array"/> of <see cref="T:System.Byte"/>s containing the serialized <see cref="T:System.Object"/> that is to be deserialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializedObject"/> was serialized.</param>
            <param name="deserializedObject">Deserialized <see cref="T:System.Object"/>.</param>
            <returns><c>true</c>if deserialization succeeded; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Serialization.TryDeserialize``1(System.IO.Stream,GSF.SerializationFormat,``0@)">
            <summary>
            Attempts to deserialize a serialized <see cref="T:System.Object"/>.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> of the deserialized <see cref="T:System.Object"/> to be returned.</typeparam>
            <param name="serializedObject"><see cref="T:System.IO.Stream"/> containing the serialized <see cref="T:System.Object"/> that is to be deserialized.</param>
            <param name="serializationFormat"><see cref="T:GSF.SerializationFormat"/> in which the <paramref name="serializedObject"/> was serialized.</param>
            <param name="deserializedObject">Deserialized <see cref="T:System.Object"/>.</param>
            <returns><c>true</c>if deserialization succeeded; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Serialization.GetOrDefault``1(System.Runtime.Serialization.SerializationInfo,System.String,``0)">
            <summary>
            Gets <see cref="T:System.Runtime.Serialization.SerializationInfo"/> value for specified <paramref name="name"/>; otherwise <paramref name="defaultValue"/>.
            </summary>
            <typeparam name="T">Type of parameter to get from <see cref="T:System.Runtime.Serialization.SerializationInfo"/>.</typeparam>
            <param name="info"><see cref="T:System.Runtime.Serialization.SerializationInfo"/> object that contains deserialized values.</param>
            <param name="name">Name of deserialized parameter to retrieve.</param>
            <param name="defaultValue">Default value to return if <paramref name="name"/> does not exist or cannot be deserialized.</param>
            <returns>Value for specified <paramref name="name"/>; otherwise <paramref name="defaultValue"/></returns>
            <remarks>
            <see cref="T:System.Runtime.Serialization.SerializationInfo"/> do not have a direct way of determining if an item with a specified name exists, so when calling
            one of the Get(n) functions you will simply get a <see cref="T:System.Runtime.Serialization.SerializationException"/> if the parameter does not exist; similarly
            you will receive this exception if the parameter fails to properly deserialize. This extension method protects against both of
            these failures and returns a default value if the named parameter does not exist or cannot be deserialized.
            </remarks>
        </member>
        <member name="M:GSF.Serialization.LegacySerializationBinder.BindToType(System.String,System.String)">
            <summary>
            Controls the binding of a serialized object to a type.
            </summary>
            <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
            <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
            <returns>The type of the object the formatter creates a new instance of.</returns>
        </member>
        <member name="T:GSF.Collections.SettingsCollection">
            <summary>
            A collection of settings that can be represented as a string of key-value pairs for easy persistence and also provide built-in validation support for the settings.
            </summary>
            <example>
            This example shows how to use <see cref="T:GSF.Collections.SettingsCollection"/> for key-value pair type settings and apply validation to them:
            <code>
            using System;
            using System.Collections.Generic;
            using GSF.Collections;
            using GSF.Validation;
            
            class Program
            {
                static void Main(string[] args)
                {
                    // Initialize settings.
                    SettingsCollection settings = "Server=localhost;Port=5000";
                    // Add validation rules.
                    settings.Validation.AddValidation("Server", new NonNullStringValidator());
                    settings.Validation.AddValidation("Port", new NonNullStringValidator());
                    settings.Validation.AddValidation("Port", new NumericRangeValidator(1000, 2000));
            
                    // Validate settings.
                    string errors;
                    if (!settings.Validation.Validate(out errors))
                    {
                        // Show validation errors.
                        Console.WriteLine(string.Format("Settings: {0}\r\n", settings));
                        Console.WriteLine(errors);
                    }
                    else
                    {
                        // Show stored settings.
                        foreach (KeyValuePair&lt;string, string&gt; setting in settings)
                        {
                            Console.WriteLine(string.Format("Key={0}; Value={1}", setting.Key, setting.Value));
                        }
                    }
                    
                    Console.ReadLine();
                }
            }
            </code>
            </example>
            <seealso cref="T:GSF.Validation.ValidationService"/>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Collections.SettingsCollection"/> class.
            </summary>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.#ctor(System.Collections.Generic.IEqualityComparer{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Collections.SettingsCollection"/> class.
            </summary>
            <param name="comparer">The <see cref="T:System.StringComparer"/> to use when comparing keys or null to use the default <see cref="T:System.StringComparer"/>.</param>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Collections.SettingsCollection"/> class.
            </summary>
            <param name="dictionary">The <see cref="T:System.Collections.Generic.IDictionary`2"/> whose elements are to be copied to this <see cref="T:GSF.Collections.SettingsCollection"/>.</param>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.#ctor(System.Collections.Generic.IDictionary{System.String,System.String},System.Collections.Generic.IEqualityComparer{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Collections.SettingsCollection"/> class.
            </summary>
            <param name="dictionary">The <see cref="T:System.Collections.Generic.IDictionary`2"/> whose elements are to be copied to this <see cref="T:GSF.Collections.SettingsCollection"/>.</param>
            <param name="comparer">The <see cref="T:System.StringComparer"/> to use when comparing keys or null to use the default <see cref="T:System.StringComparer"/>.</param>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.TryAdd(System.String,System.String)">
            <summary>
            Adds an element with the specified <paramref name="key"/> and <paramref name="value"/> if an element is not present with the specified <paramref name="key"/>.
            </summary>
            <param name="key">The key of the element to add.</param>
            <param name="value">The value of the element to add.</param>
            <returns><strong>true</strong> if an element is added; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.ToString">
            <summary>
            Gets the <see cref="T:System.String"/> representation of <see cref="T:GSF.Collections.SettingsCollection"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents <see cref="T:GSF.Collections.SettingsCollection"/>.</returns>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.op_Implicit(GSF.Collections.SettingsCollection)~System.String">
            <summary>
            Implicitly converts <see cref="T:GSF.Collections.SettingsCollection"/> to a <see cref="T:System.String"/>.
            </summary>
            <param name="value">The <see cref="T:GSF.Collections.SettingsCollection"/> to convert.</param>
            <returns>A <see cref="T:System.String"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Collections.SettingsCollection.op_Implicit(System.String)~GSF.Collections.SettingsCollection">
            <summary>
            Implicitly converts <see cref="T:System.String"/> to <see cref="T:GSF.Collections.SettingsCollection"/>.
            </summary>
            <param name="value">The <see cref="T:System.String"/> to convert.</param>
            <returns>A <see cref="T:GSF.Collections.SettingsCollection"/> object representing the result.</returns>
        </member>
        <member name="P:GSF.Collections.SettingsCollection.Validation">
            <summary>
            Gets the <see cref="T:GSF.Validation.ValidationService"/> object used to perform validation on the <see cref="P:System.Collections.Generic.Dictionary`2.Values"/>.
            </summary>
        </member>
        <member name="T:GSF.StringExtensions">
            <summary>Defines extension functions related to string manipulation.</summary>
        </member>
        <member name="M:GSF.StringExtensions.ParseBoolean(System.String)">
            <summary>
            Parses a string intended to represent a boolean value.
            </summary>
            <param name="value">String representing a boolean value.</param>
            <returns>Parsed boolean value.</returns>
            <remarks>
            This function, unlike Boolean.Parse, correctly parses a boolean value, even if the string value
            specified is a number (e.g., 0 or -1). Boolean.Parse expects a string to be represented as
            "True" or "False" (i.e., Boolean.TrueString or Boolean.FalseString respectively).
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.ConvertToType``1(System.String)">
            <summary>
            Converts this string into the specified type.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> to convert string to.</typeparam>
            <param name="value">Source string to convert to type.</param>
            <returns><see cref="T:System.String"/> converted to specified <see cref="T:System.Type"/>; default value of specified type T if conversion fails.</returns>
            <remarks>
            This function makes use of a <see cref="T:System.ComponentModel.TypeConverter"/> to convert this <see cref="T:System.String"/> to the specified type T,
            the best way to make sure <paramref name="value"/> can be converted back to its original type is to use the same
            <see cref="T:System.ComponentModel.TypeConverter"/> to convert the original object to a <see cref="T:System.String"/>; see the
            <see cref="M:GSF.Common.TypeConvertToString(System.Object)"/> method for an easy way to do this.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.ConvertToType``1(System.String,System.Type)">
            <summary>
            Converts this string into the specified type.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> to convert string to.</typeparam>
            <param name="value">Source string to convert to type.</param>
            <param name="type"><see cref="T:System.Type"/> to convert string to.</param>
            <returns><see cref="T:System.String"/> converted to specified <see cref="T:System.Type"/>; default value of specified type T if conversion fails.</returns>
            <remarks>
            This function makes use of a <see cref="T:System.ComponentModel.TypeConverter"/> to convert this <see cref="T:System.String"/> to the specified <paramref name="type"/>,
            the best way to make sure <paramref name="value"/> can be converted back to its original type is to use the same
            <see cref="T:System.ComponentModel.TypeConverter"/> to convert the original object to a <see cref="T:System.String"/>; see the
            <see cref="M:GSF.Common.TypeConvertToString(System.Object)"/> method for an easy way to do this.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.ConvertToType``1(System.String,System.Type,System.Globalization.CultureInfo)">
            <summary>
            Converts this string into the specified type.
            </summary>
            <typeparam name="T"><see cref="T:System.Type"/> to convert string to.</typeparam>
            <param name="value">Source string to convert to type.</param>
            <param name="type"><see cref="T:System.Type"/> to convert string to.</param>
            <param name="culture"><see cref="T:System.Globalization.CultureInfo"/> to use for the conversion.</param>
            <returns><see cref="T:System.String"/> converted to specified <see cref="T:System.Type"/>; default value of specified type T if conversion fails.</returns>
            <remarks>
            This function makes use of a <see cref="T:System.ComponentModel.TypeConverter"/> to convert this <see cref="T:System.String"/> to the specified <paramref name="type"/>,
            the best way to make sure <paramref name="value"/> can be converted back to its original type is to use the same
            <see cref="T:System.ComponentModel.TypeConverter"/> to convert the original object to a <see cref="T:System.String"/>; see the
            <see cref="M:GSF.Common.TypeConvertToString(System.Object)"/> method for an easy way to do this.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.GetSegments(System.String,System.Int32)">
            <summary>
            Turns source string into an array of string segments - each with a set maximum width - for parsing or displaying.
            </summary>
            <param name="value">Input string to break up into segments.</param>
            <param name="segmentSize">Maximum size of returned segment.</param>
            <returns>Array of string segments as parsed from source string.</returns>
            <remarks>Returns a single element array with an empty string if source string is null or empty.</remarks>
        </member>
        <member name="M:GSF.StringExtensions.JoinKeyValuePairs(System.Collections.Generic.IDictionary{System.String,System.String},System.Char,System.Char,System.Char,System.Char)">
            <summary>
            Combines a dictionary of key-value pairs in to a string.
            </summary>
            <param name="pairs">Dictionary of key-value pairs.</param>
            <param name="parameterDelimiter">Character that delimits one key-value pair from another (e.g. ';').</param>
            <param name="keyValueDelimiter">Character that delimits a key from its value (e.g. '=').</param>
            <param name="startValueDelimiter">Optional character that marks the start of a value such that value could contain other
            <paramref name="parameterDelimiter"/> or <paramref name="keyValueDelimiter"/> characters (e.g., "{").</param>
            <param name="endValueDelimiter">Optional character that marks the end of a value such that value could contain other
            <paramref name="parameterDelimiter"/> or <paramref name="keyValueDelimiter"/> characters (e.g., "}").</param>
            <returns>A string of key-value pairs.</returns>
            <remarks>
            Values will be escaped within <paramref name="startValueDelimiter"/> and <paramref name="endValueDelimiter"/>
            to contain nested key/value pair expressions like the following: <c>normalKVP=-1; nestedKVP={p1=true; p2=0.001}</c>,
            when either the <paramref name="parameterDelimiter"/> or <paramref name="keyValueDelimiter"/> are detected in the
            value of the key/value pair.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.ParseKeyValuePairs(System.String,System.Char,System.Char,System.Char,System.Char,System.Boolean)">
            <summary>
            Parses key/value pair expressions from a string. Parameter pairs are delimited by <paramref name="keyValueDelimiter"/>
            and multiple pairs separated by <paramref name="parameterDelimiter"/>. Supports encapsulated nested expressions.
            </summary>
            <param name="value">String containing key/value pair expressions to parse.</param>
            <param name="parameterDelimiter">Character that delimits one key/value pair from another.</param>
            <param name="keyValueDelimiter">Character that delimits key from value.</param>
            <param name="startValueDelimiter">Optional character that marks the start of a value such that value could contain other
            <paramref name="parameterDelimiter"/> or <paramref name="keyValueDelimiter"/> characters.</param>
            <param name="endValueDelimiter">Optional character that marks the end of a value such that value could contain other
            <paramref name="parameterDelimiter"/> or <paramref name="keyValueDelimiter"/> characters.</param>
            <param name="ignoreDuplicateKeys">Flag determines whether duplicates are ignored. If flag is set to <c>false</c> an
            <see cref="T:System.ArgumentException"/> will be thrown when all key parameters are not unique.</param>
            <returns>Dictionary of key/value pairs.</returns>
            <remarks>
            <para>
            Parses a string containing key/value pair expressions (e.g., "localPort=5001; transportProtocol=UDP; interface=0.0.0.0").
            This method treats all "keys" as case-insensitive. Nesting of key/value pair expressions is allowed by encapsulating the
            value using the <paramref name="startValueDelimiter"/> and <paramref name="endValueDelimiter"/> values (e.g., 
            "dataChannel={Port=-1;Clients=localhost:8800}; commandChannel={Port=8900}; dataFormat=FloatingPoint;"). There must be one
            <paramref name="endValueDelimiter"/> for each encountered <paramref name="startValueDelimiter"/> in the value or a
            <see cref="T:System.FormatException"/> will be thrown. Multiple levels of nesting is supported. If the <paramref name="ignoreDuplicateKeys"/>
            flag is set to <c>false</c> an <see cref="T:System.ArgumentException"/> will be thrown when all key parameters are not unique. Note
            that keys within nested expressions are considered separate key/value pair strings and are not considered when checking
            for duplicate keys.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">value is null.</exception>
            <exception cref="T:System.ArgumentException">All delimiters must be unique -or- all keys must be unique when
            <paramref name="ignoreDuplicateKeys"/> is set to <c>false</c>.</exception>
            <exception cref="T:System.FormatException">Total nested key/value value pair expressions are mismatched -or- encountered
            <paramref name="endValueDelimiter"/> before <paramref name="startValueDelimiter"/>.</exception>
        </member>
        <member name="M:GSF.StringExtensions.NotEmpty(System.String)">
            <summary>
            Ensures parameter is not an empty or null string. Returns a single space if test value is empty.
            </summary>
            <param name="testValue">Value to test for null or empty.</param>
            <returns>A non-empty string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.NotEmpty(System.String,System.String)">
            <summary>
            Ensures parameter is not an empty or null string.
            </summary>
            <param name="testValue">Value to test for null or empty.</param>
            <param name="nonEmptyReturnValue">Value to return if <paramref name="testValue">testValue</paramref> is null or empty.</param>
            <returns>A non-empty string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceCharacters(System.String,System.Char,System.Func{System.Char,System.Boolean})">
            <summary>
            Replaces all characters passing delegate test with specified replacement character.
            </summary>
            <param name="value">Input string.</param>
            <param name="replacementCharacter">Character used to replace characters passing delegate test.</param>
            <param name="characterTestFunction">Delegate used to determine whether or not character should be replaced.</param>
            <returns>Returns <paramref name="value" /> with all characters passing delegate test replaced.</returns>
            <remarks>Allows you to specify a replacement character (e.g., you may want to use a non-breaking space: Convert.ToChar(160)).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.RemoveCharacters(System.String,System.Func{System.Char,System.Boolean})">
            <summary>
            Removes all characters passing delegate test from a string.
            </summary>
            <param name="value">Input string.</param>
            <param name="characterTestFunction">Delegate used to determine whether or not character should be removed.</param>
            <returns>Returns <paramref name="value" /> with all characters passing delegate test removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.RemoveWhiteSpace(System.String)">
            <summary>
            Removes all white space (as defined by IsWhiteSpace) from a string.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all white space removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceWhiteSpace(System.String,System.Char)">
            <summary>
            Replaces all white space characters (as defined by IsWhiteSpace) with specified replacement character.
            </summary>
            <param name="value">Input string.</param>
            <param name="replacementCharacter">Character used to "replace" white space characters.</param>
            <returns>Returns <paramref name="value" /> with all white space characters replaced.</returns>
            <remarks>Allows you to specify a replacement character (e.g., you may want to use a non-breaking space: Convert.ToChar(160)).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.RemoveControlCharacters(System.String)">
            <summary>
            Removes all control characters from a string.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all control characters removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceControlCharacters(System.String)">
            <summary>
            Replaces all control characters in a string with a single space.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all control characters replaced as a single space.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceControlCharacters(System.String,System.Char)">
            <summary>
            Replaces all control characters in a string with specified replacement character.
            </summary>
            <param name="value">Input string.</param>
            <param name="replacementCharacter">Character used to "replace" control characters.</param>
            <returns>Returns <paramref name="value" /> with all control characters replaced.</returns>
            <remarks>Allows you to specify a replacement character (e.g., you may want to use a non-breaking space: Convert.ToChar(160)).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.RemoveCrLfs(System.String)">
            <summary>
            Removes all carriage returns and line feeds from a string.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all CR and LF characters removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceCrLfs(System.String,System.Char)">
            <summary>
            Replaces all carriage return and line feed characters (as well as CR/LF sequences) in a string with specified replacement character.
            </summary>
            <param name="value">Input string.</param>
            <param name="replacementCharacter">Character used to "replace" CR and LF characters.</param>
            <returns>Returns <paramref name="value" /> with all CR and LF characters replaced.</returns>
            <remarks>Allows you to specify a replacement character (e.g., you may want to use a non-breaking space: Convert.ToChar(160)).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.RemoveDuplicates(System.String,System.String)">
            <summary>
            Removes duplicate character strings (adjoining replication) in a string.
            </summary>
            <param name="value">Input string.</param>
            <param name="duplicatedValue">String whose duplicates are to be removed.</param>
            <returns>Returns <paramref name="value" /> with all duplicated <paramref name="duplicatedValue" /> removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.RemoveNull(System.String)">
            <summary>
            Removes the terminator ('\0') from a null terminated string.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all characters to the left of the terminator.</returns>
        </member>
        <member name="M:GSF.StringExtensions.RemoveDuplicateWhiteSpace(System.String)">
            <summary>
            Replaces all repeating white space with a single space.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all duplicate white space removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.RemoveDuplicateWhiteSpace(System.String,System.Char)">
            <summary>
            Replaces all repeating white space with specified spacing character.
            </summary>
            <param name="value">Input string.</param>
            <param name="spacingCharacter">Character value to use to insert as single white space value.</param>
            <returns>Returns <paramref name="value" /> with all duplicate white space removed.</returns>
            <remarks>This function allows you to specify spacing character (e.g., you may want to use a non-breaking space: <c>Convert.ToChar(160)</c>).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.RemoveInvalidFileNameCharacters(System.String)">
            <summary>
            Removes all invalid file name characters (\ / : * ? " &lt; &gt; |) from a string.
            </summary>
            <param name="value">Input string.</param>
            <returns>Returns <paramref name="value" /> with all invalid file name characters removed.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceInvalidFileNameCharacters(System.String,System.Char)">
            <summary>
            Replaces all invalid file name characters (\ / : * ? " &lt; &gt; |) in a string with the specified <paramref name="replacementCharacter"/>.
            </summary>
            <param name="value">Input string.</param>
            <param name="replacementCharacter">Character used to replace the invalid characters.</param>
            <returns>>Returns <paramref name="value" /> with all invalid file name characters replaced.</returns>
        </member>
        <member name="M:GSF.StringExtensions.QuoteWrap(System.String,System.Char)">
            <summary>
            Wraps <paramref name="value"/> in the <paramref name="quoteChar"/>.
            </summary>
            <param name="value">Input string to process</param>
            <param name="quoteChar">The char to wrap <paramref name="value"/></param>
            <returns><paramref name="value"/> wrapped in <paramref name="quoteChar"/></returns>
        </member>
        <member name="M:GSF.StringExtensions.CharCount(System.String,System.Char)">
            <summary>
            Counts the total number of the occurrences of a character in the given string.
            </summary>
            <param name="value">Input string.</param>
            <param name="characterToCount">Character to be counted.</param>
            <returns>Total number of the occurrences of <paramref name="characterToCount" /> in the given string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IsAllDigits(System.String)">
            <summary>
            Tests to see if a string is contains only digits based on Char.IsDigit function.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's characters are digits; otherwise, false.</returns>
            <seealso cref="M:System.Char.IsDigit(System.Char)"/>
        </member>
        <member name="M:GSF.StringExtensions.IsAllNumbers(System.String)">
            <summary>
            Tests to see if a string contains only numbers based on Char.IsNumber function.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's characters are numbers; otherwise, false.</returns>
            <seealso cref="M:System.Char.IsNumber(System.Char)"/>
        </member>
        <member name="M:GSF.StringExtensions.IsAllUpper(System.String)">
            <summary>
            Tests to see if a string's letters are all upper case.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's letter characters are upper case; otherwise, false.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IsAllLower(System.String)">
            <summary>
            Tests to see if a string's letters are all lower case.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's letter characters are lower case; otherwise, false.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IsAllLetters(System.String)">
            <summary>
            Tests to see if a string contains only letters.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's characters are letters; otherwise, false.</returns>
            <remarks>Any non-letter character (e.g., punctuation marks) causes this function to return false (See overload to ignore punctuation
            marks.).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.IsAllLetters(System.String,System.Boolean)">
            <summary>
            Tests to see if a string contains only letters.
            </summary>
            <param name="value">Input string.</param>
            <param name="ignorePunctuation">Set to True to ignore punctuation.</param>
            <returns>True, if all string's characters are letters; otherwise, false.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IsAllLettersOrDigits(System.String)">
            <summary>
            Tests to see if a string contains only letters or digits.
            </summary>
            <param name="value">Input string.</param>
            <returns>True, if all string's characters are either letters or digits; otherwise, false.</returns>
            <remarks>Any non-letter, non-digit character (e.g., punctuation marks) causes this function to return false (See overload to ignore
            punctuation marks.).</remarks>
        </member>
        <member name="M:GSF.StringExtensions.IsAllLettersOrDigits(System.String,System.Boolean)">
            <summary>
            Tests to see if a string contains only letters or digits.
            </summary>
            <param name="value">Input string.</param>
            <param name="ignorePunctuation">Set to True to ignore punctuation.</param>
            <returns>True, if all string's characters are letters or digits; otherwise, false.</returns>
        </member>
        <member name="M:GSF.StringExtensions.RegexDecode(System.String)">
            <summary>
            Decodes the specified Regular Expression character back into a standard Unicode character.
            </summary>
            <param name="value">Regular Expression character to decode back into a Unicode character.</param>
            <returns>Standard Unicode character representation of specified Regular Expression character.</returns>
        </member>
        <member name="M:GSF.StringExtensions.Base64Encode(System.String)">
            <summary>
            Encodes a string into a base-64 string.
            </summary>
            <param name="value">Input string.</param>
            <remarks>
            <para>Performs a base-64 style of string encoding useful for data obfuscation or safe XML data string transmission.</para>
            <para>Note: This function encodes a "String". Use the Convert.ToBase64String function to encode a binary data buffer.</para>
            </remarks>
            <returns>A <see cref="T:System.String"></see> value representing the encoded input of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.StringExtensions.Base64Decode(System.String)">
            <summary>
            Decodes a given base-64 encoded string encoded with <see cref="M:GSF.StringExtensions.Base64Encode(System.String)"/>.
            </summary>
            <param name="value">Input string.</param>
            <remarks>Note: This function decodes value back into a "String". Use the Convert.FromBase64String function to decode a base-64 encoded
            string back into a binary data buffer.</remarks>
            <returns>A <see cref="T:System.String"></see> value representing the decoded input of <paramref name="value"/>.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ToTitleCase(System.String)">
            <summary>
            Converts the provided string into title case (upper case first letter of each word).
            </summary>
            <param name="value">Input string.</param>
            <remarks>Note: This function performs "ToLower" in input string then applies TextInfo.ToTitleCase for CurrentCulture. This way, even
            strings formatted in all-caps will still be properly formatted.</remarks>
            <returns>A <see cref="T:System.String"/> that has the first letter of each word capitalized.</returns>
        </member>
        <member name="M:GSF.StringExtensions.TruncateLeft(System.String,System.Int32)">
            <summary>
            Truncates the provided string from the left if it is longer that specified length.
            </summary>
            <param name="value">A <see cref="T:System.String"/> value that is to be truncated.</param>
            <param name="maxLength">The maximum number of characters that <paramref name="value"/> can be.</param>
            <returns>A <see cref="T:System.String"/> that is the truncated version of the <paramref name="value"/> string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.TruncateRight(System.String,System.Int32)">
            <summary>
            Truncates the provided string from the right if it is longer that specified length.
            </summary>
            <param name="value">A <see cref="T:System.String"/> value that is to be truncated.</param>
            <param name="maxLength">The maximum number of characters that <paramref name="value"/> can be.</param>
            <returns>A <see cref="T:System.String"/> that is the truncated version of the <paramref name="value"/> string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.CenterText(System.String,System.Int32)">
            <summary>
            Centers text within the specified maximum length, biased to the left.
            Text will be padded to the left and right with spaces.
            If value is greater than specified maximum length, value returned will be truncated from the right.
            </summary>
            <remarks>
            Handles multiple lines of text separated by Environment.NewLine.
            </remarks>
            <param name="value">A <see cref="T:System.String"/> to be centered.</param>
            <param name="maxLength">An <see cref="T:System.Int32"/> that is the maximum length of padding.</param>
            <returns>The centered string value.</returns>
        </member>
        <member name="M:GSF.StringExtensions.CenterText(System.String,System.Int32,System.Char)">
            <summary>
            Centers text within the specified maximum length, biased to the left.
            Text will be padded to the left and right with specified padding character.
            If value is greater than specified maximum length, value returned will be truncated from the right.
            </summary>
            <remarks>
            Handles multiple lines of text separated by <c>Environment.NewLine</c>.
            </remarks>
            <param name="value">A <see cref="T:System.String"/> to be centered.</param>
            <param name="maxLength">An <see cref="T:System.Int32"/> that is the maximum length of padding.</param>
            <param name="paddingCharacter">The <see cref="T:System.Char"/> value to pad with.</param>
            <returns>The centered string value.</returns>
        </member>
        <member name="M:GSF.StringExtensions.ReplaceCaseInsensitive(System.String,System.String,System.String)">
            <summary>
            Performs a case insensitive string replacement.
            </summary>
            <param name="value">The string to examine.</param>
            <param name="fromText">The value to replace.</param>
            <param name="toText">The new value to be inserted</param>
            <returns>A string with replacements.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureStart(System.String,System.Char)">
            <summary>
            Ensures a string starts with a specific character.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="startChar">The character desired at string start.</param>
            <returns>The sent string with character at the start.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureStart(System.String,System.Char,System.Boolean)">
            <summary>
            Ensures a string starts with a specific character.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="startChar">The character desired at string start.</param>
            <param name="removeRepeatingChar">Set to <c>true</c> to ensure one and only one instance of <paramref name="startChar"/>.</param>
            <returns>The sent string with character at the start.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureStart(System.String,System.String)">
            <summary>
            Ensures a string starts with a specific string.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="startString">The string desired at string start.</param>
            <returns>The sent string with string at the start.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureEnd(System.String,System.Char)">
            <summary>
            Ensures a string ends with a specific character.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="endChar">The character desired at string's end.</param>
            <returns>The sent string with character at the end.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureEnd(System.String,System.Char,System.Boolean)">
            <summary>
            Ensures a string ends with a specific character.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="endChar">The character desired at string's end.</param>
            <param name="removeRepeatingChar">Set to <c>true</c> to ensure one and only one instance of <paramref name="endChar"/>.</param>
            <returns>The sent string with character at the end.</returns>
        </member>
        <member name="M:GSF.StringExtensions.EnsureEnd(System.String,System.String)">
            <summary>
            Ensures a string ends with a specific string.
            </summary>
            <param name="value">Input string to process.</param>
            <param name="endString">The string desired at string's end.</param>
            <returns>The sent string with string at the end.</returns>
        </member>
        <member name="M:GSF.StringExtensions.Reverse(System.String)">
            <summary>
            Reverses the order of the characters in a string.
            </summary>
            <param name="value">Input string to process.</param>
            <returns>The reversed string.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IndexOfRepeatedChar(System.String,System.Char,System.Int32)">
            <summary>
            Searches a string for a repeated instance of the specified <paramref name="characterToFind"/> from specified <paramref name="startIndex"/>.
            </summary>
            <param name="value">The string to process.</param>
            <param name="characterToFind">The character of interest.</param>
            <param name="startIndex">The index from which to begin the search.</param>
            <returns>The index of the first instance of the character that is repeated or (-1) if no repeated chars found.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IndexOfRepeatedChar(System.String,System.Char)">
            <summary>
            Searches a string for a repeated instance of the specified <paramref name="characterToFind"/>.
            </summary>
            <param name="value">The string to process.</param>
            <param name="characterToFind">The character of interest.</param>
            <returns>The index of the first instance of the character that is repeated or (-1) if no repeated chars found.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IndexOfRepeatedChar(System.String)">
            <summary>
            Searches a string for an instance of a repeated character.
            </summary>
            <param name="value">The string to process.</param>
            <returns>The index of the first instance of any character that is repeated or (-1) if no repeated chars found.</returns>
        </member>
        <member name="M:GSF.StringExtensions.IndexOfRepeatedChar(System.String,System.Int32)">
            <summary>
            Searches a string for an instance of a repeated character from specified <paramref name="startIndex"/>.
            </summary>
            <param name="value">The string to process.</param>
            <param name="startIndex">The index from which to begin the search.</param>
            <returns>The index of the first instance of any character that is repeated or (-1) if no repeated chars found.</returns>
        </member>
        <member name="M:GSF.StringExtensions.LastIndexOfRepeatedChar(System.String,System.Char,System.Int32)">
            <summary>
            Returns the index of the last repeated index of the first group of repeated characters that begin with the <paramref name="characterToFind"/>.
            </summary>
            <param name="value">String to process.</param>
            <param name="characterToFind">The character of interest.</param>
            <param name="startIndex">The index from which to begin the search.</param>
            <returns>The index of the last instance of the character that is repeated or (-1) if no repeated chars found.</returns>
        </member>
        <member name="M:GSF.StringExtensions.TrimWithEllipsisMiddle(System.String,System.Int32)">
            <summary>
            Places an ellipsis in the middle of a string as it is trimmed to length specified.
            </summary>
            <param name="value">The string to process.</param>
            <param name="length">The maximum returned string length; mimimum value is 5.</param>
            <returns>
            A trimmed string of the specified <paramref name="length"/> or empty string if <paramref name="value"/> is null or empty.
            </returns>
            <remarks>
            Returned string is not padded to fill field length if <paramref name="value"/> is shorter than length.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.TrimWithEllipsisEnd(System.String,System.Int32)">
            <summary>
            Places an ellipsis at the end of a string as it is trimmed to length specified.
            </summary>
            <param name="value">The string to process.</param>
            <param name="length">The maximum returned string length; mimimum value is 5.</param>
            <returns>
            A trimmed string of the specified <paramref name="length"/> or empty string if <paramref name="value"/> is null or empty.
            </returns>
            <remarks>
            Returned string is not padded to fill field length if <paramref name="value"/> is shorter than length.
            </remarks>
        </member>
        <member name="M:GSF.StringExtensions.UriEncode(System.String)">
            <summary>
            Escapes string using URL encoding.
            </summary>
            <param name="value">The string to escape.</param>
            <returns>URL encoded string.</returns>
        </member>
        <member name="T:GSF.Threading.InterprocessLock">
            <summary>
            Defines helper methods related to inter-process locking.
            </summary>
        </member>
        <member name="M:GSF.Threading.InterprocessLock.GetNamedMutex(System.String)">
            <summary>
            Gets a uniquely named inter-process <see cref="T:System.Threading.Mutex"/> associated with the specified <paramref name="name"/> that identifies a source object
            needing concurrency locking.
            </summary>
            <param name="name">Identifying name of source object needing concurrency locking (e.g., a path and file name).</param>
            <returns>A uniquely named inter-process <see cref="T:System.Threading.Mutex"/> specific to <paramref name="name"/>; <see cref="T:System.Threading.Mutex"/> is created if it does not exist.</returns>
            <remarks>
            <para>
            This function uses a hash of the <paramref name="name"/> when creating the <see cref="T:System.Threading.Mutex"/>, not the actual <paramref name="name"/> - this way
            restrictions on the <paramref name="name"/> length do not need to be a user concern. All processes needing an inter-process <see cref="T:System.Threading.Mutex"/> need
            to use this same function to ensure access to the same <see cref="T:System.Threading.Mutex"/>.
            </para>
            <para>
            The <paramref name="name"/> can be a string of any length (must not be empty, null or white space) and is not case-sensitive. All hashes of the
            <paramref name="name"/> used to create the global <see cref="T:System.Threading.Mutex"/> are first converted to lower case.
            </para>
            <para>
            The <see cref="T:System.Threading.Mutex"/> created is "Global" meaning that it will be accessible to all active application sessions including terminal service
            sessions. This is accomplished internally by prefixing the <see cref="T:System.Threading.Mutex"/> name with "Global\"; it is not necessary for the user to be
            concerned with the length or contents of the <paramref name="name"/> in this method as long as the same <paramref name="name"/> is used for
            each application. Do not use this helper function if you need to create a specifically named or non-global <see cref="T:System.Threading.Mutex"/>, such as when
            you need to interact with another application using a <see cref="T:System.Threading.Mutex"/> that does not use this function.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Argument <paramref name="name"/> cannot be empty, null or white space.</exception>
            <exception cref="T:System.UnauthorizedAccessException">The named mutex exists, but the user does not have the minimum needed security access rights to use it.</exception>
        </member>
        <member name="M:GSF.Threading.InterprocessLock.GetNamedSemaphore(System.String,System.Int32,System.Int32)">
            <summary>
            Gets a uniquely named inter-process <see cref="T:System.Threading.Semaphore"/> associated with the specified <paramref name="name"/> that identifies a source object
            needing concurrency locking.
            </summary>
            <param name="name">Identifying name of source object needing concurrency locking (e.g., a path and file name).</param>
            <param name="maximumCount">The maximum number of requests for the semaphore that can be granted concurrently.</param>
            <param name="initialCount">The initial number of requests for the semaphore that can be granted concurrently, or -1 to default to <paramref name="maximumCount"/>.</param>
            <returns>A uniquely named inter-process <see cref="T:System.Threading.Semaphore"/> specific to <paramref name="name"/>; <see cref="T:System.Threading.Semaphore"/> is created if it does not exist.</returns>
            <remarks>
            <para>
            This function uses a hash of the <paramref name="name"/> when creating the <see cref="T:System.Threading.Semaphore"/>, not the actual <paramref name="name"/> - this way
            restrictions on the <paramref name="name"/> length do not need to be a user concern. All processes needing an inter-process <see cref="T:System.Threading.Semaphore"/> need
            to use this same function to ensure access to the same <see cref="T:System.Threading.Semaphore"/>.
            </para>
            <para>
            The <paramref name="name"/> can be a string of any length (must not be empty, null or white space) and is not case-sensitive. All hashes of the
            <paramref name="name"/> used to create the global <see cref="T:System.Threading.Semaphore"/> are first converted to lower case.
            </para>
            <para>
            The <see cref="T:System.Threading.Semaphore"/> created is "Global" meaning that it will be accessible to all active application sessions including terminal service
            sessions. This is accomplished internally by prefixing the <see cref="T:System.Threading.Semaphore"/> name with "Global\"; it is not necessary for the user to be
            concerned with the length or contents of the <paramref name="name"/> in this method as long as the same <paramref name="name"/> is used for
            each application. Do not use this helper function if you need to create a specifically named or non-global <see cref="T:System.Threading.Semaphore"/>, such as when
            you need to interact with another application using a <see cref="T:System.Threading.Semaphore"/> that does not use this function.
            </para>
            </remarks>
            <exception cref="T:System.ArgumentNullException">Argument <paramref name="name"/> cannot be empty, null or white space.</exception>
            <exception cref="T:System.UnauthorizedAccessException">The named semaphore exists, but the user does not have the minimum needed security access rights to use it.</exception>
        </member>
        <member name="T:GSF.Threading.InterprocessReaderWriterLock">
            <summary>
            Represents an inter-process reader/writer lock using <see cref="T:System.Threading.Semaphore"/> and <see cref="T:System.Threading.Mutex"/> native locking mechanisms.
            </summary>
        </member>
        <member name="F:GSF.Threading.InterprocessReaderWriterLock.DefaultMaximumConcurrentLocks">
            <summary>
            Default maximum concurrent locks allowed for <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/>.
            </summary>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.#ctor(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/> associated with the specified
            <paramref name="name"/> that identifies a source object needing concurrency locking.
            </summary>
            <param name="name">Identifying name of source object needing concurrency locking (e.g., a path and file name).</param>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.#ctor(System.String,System.Int32)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/> associated with the specified
            <paramref name="name"/> that identifies a source object needing concurrency locking.
            </summary>
            <param name="name">Identifying name of source object needing concurrency locking (e.g., a path and file name).</param>
            <param name="maximumConcurrentLocks">Maximum concurrent reader locks to allow.</param>
            <remarks>
            If more reader locks are requested than the <paramref name="maximumConcurrentLocks"/>, excess reader locks will simply
            wait until a lock is available (i.e., one of the existing reads completes).
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.Finalize">
            <summary>
            Releases the unmanaged resources before the <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/> object is reclaimed by <see cref="T:System.GC"/>.
            </summary>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.Dispose">
            <summary>
            Releases all the resources used by the <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/> object.
            </summary>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by the <see cref="T:GSF.Threading.InterprocessReaderWriterLock"/> object and optionally releases the managed resources.
            </summary>
            <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.EnterReadLock">
            <summary>
            Tries to enter the lock in read mode.
            </summary>
            <remarks>
            Upon successful acquisition of a read lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterReadLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterReadLock(System.Int32)"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.EnterWriteLock">
            <summary>
            Tries to enter the lock in write mode.
            </summary>
            <remarks>
            Upon successful acquisition of a write lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterWriteLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterWriteLock(System.Int32)"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock">
            <summary>
            Exits read mode and returns the prior read lock count.
            </summary>
            <remarks>
            Upon successful acquisition of a read lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterReadLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterReadLock(System.Int32)"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock">
            <summary>
            Exits write mode.
            </summary>
            <remarks>
            Upon successful acquisition of a write lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterWriteLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterWriteLock(System.Int32)"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterReadLock(System.Int32)">
            <summary>
            Tries to enter the lock in read mode, with an optional time-out.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 (<see cref="F:System.Threading.Timeout.Infinite"/>) to wait indefinitely.</param>
            <returns><c>true</c> if the calling thread entered read mode, otherwise, <c>false</c>.</returns>
            <remarks>
            <para>
            Upon successful acquisition of a read lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitReadLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterReadLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterReadLock(System.Int32)"/>.
            </para>
            <para>
            Note that this function may wait as long as 2 * <paramref name="millisecondsTimeout"/> since the function first waits for synchronous access
            to the semaphore, then waits again on an available semaphore slot.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterWriteLock(System.Int32)">
            <summary>
            Tries to enter the lock in write mode, with an optional time-out.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait, or -1 (<see cref="F:System.Threading.Timeout.Infinite"/>) to wait indefinitely.</param>
            <returns><c>true</c> if the calling thread entered write mode, otherwise, <c>false</c>.</returns>
            <remarks>
            <para>
            Upon successful acquisition of a write lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/>.
            One <see cref="M:GSF.Threading.InterprocessReaderWriterLock.ExitWriteLock"/> should be called for each <see cref="M:GSF.Threading.InterprocessReaderWriterLock.EnterWriteLock"/> or <see cref="M:GSF.Threading.InterprocessReaderWriterLock.TryEnterWriteLock(System.Int32)"/>.
            </para>
            <para>
            Note that this function may wait as long as 2 * <paramref name="millisecondsTimeout"/> since the function first waits for synchronous access
            to the semaphore, then waits again on an available semaphore slot.
            </para>
            </remarks>
        </member>
        <member name="P:GSF.Threading.InterprocessReaderWriterLock.MaximumConcurrentLocks">
            <summary>
            Gets the maximum concurrent reader locks allowed.
            </summary>
        </member>
        <member name="T:GSF.Threading.SynchronizedOperationType">
            <summary>
            Represents the available types of synchronized operations.
            </summary>
        </member>
        <member name="F:GSF.Threading.SynchronizedOperationType.Short">
            <summary>
            <see cref="T:GSF.Threading.ShortSynchronizedOperation"/>
            </summary>
        </member>
        <member name="F:GSF.Threading.SynchronizedOperationType.Long">
            <summary>
            <see cref="T:GSF.Threading.LongSynchronizedOperation"/>
            </summary>
        </member>
        <member name="F:GSF.Threading.SynchronizedOperationType.LongBackground">
            <summary>
            <see cref="T:GSF.Threading.LongSynchronizedOperation"/> with IsBackground set to <c>true</c>
            </summary>
        </member>
        <member name="T:GSF.Threading.ISynchronizedOperation">
            <summary>
            Represents an operation that cannot run while it is already in progress.
            </summary>
        </member>
        <member name="M:GSF.Threading.ISynchronizedOperation.RunOnce">
            <summary>
            Executes the action on this thread or marks the
            operation as pending if the operation is already running.
            </summary>
            <remarks>
            When the operation is marked as pending, it will run again after the
            operation that is currently running has completed. This is useful if
            an update has invalidated the operation that is currently running and
            will therefore need to be run again.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ISynchronizedOperation.RunOnceAsync">
            <summary>
            Executes the action on another thread or marks the
            operation as pending if the operation is already running.
            </summary>
            <remarks>
            When the operation is marked as pending, it will run again after the
            operation that is currently running has completed. This is useful if
            an update has invalidated the operation that is currently running and
            will therefore need to be run again.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ISynchronizedOperation.TryRun">
            <summary>
            Attempts to execute the action on this thread.
            Does nothing if the operation is already running.
            </summary>
        </member>
        <member name="M:GSF.Threading.ISynchronizedOperation.TryRunAsync">
            <summary>
            Attempts to execute the action on another thread.
            Does nothing if the operation is already running.
            </summary>
        </member>
        <member name="P:GSF.Threading.ISynchronizedOperation.IsRunning">
            <summary>
            Gets a value to indicate whether the synchronized
            operation is currently executing its action.
            </summary>
        </member>
        <member name="T:GSF.Threading.LongSynchronizedOperation">
            <summary>
            Represents a long-running synchronized operation
            that cannot run while it is already in progress.
            </summary>
            <remarks>
            The action performed by the <see cref="T:GSF.Threading.LongSynchronizedOperation"/> is executed on
            its own dedicated thread when running the operation asynchronously. When running on
            its own thread, the action is executed in a tight loop until all pending operations
            have been completed. This type of synchronized operation should be preferred if
            operations may take a long time, block the thread, or put it to sleep. It is also
            recommended to prefer this type of operation if the speed of the operation is not
            critical or if completion of the operation is critical, such as when saving data
            to a file.
            </remarks>
        </member>
        <member name="T:GSF.Threading.SynchronizedOperationBase">
            <summary>
            Base class for operations that cannot run while they is already in progress.
            </summary>
            <remarks>
            This class handles the synchronization between the methods defined in the
            <see cref="T:GSF.Threading.ISynchronizedOperation"/> interface. Implementers should only need
            to implement the <see cref="M:GSF.Threading.SynchronizedOperationBase.ExecuteActionAsync"/> method to provide a mechanism
            for executing the action on a separate thread.
            </remarks>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.#ctor(System.Action)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.SynchronizedOperationBase"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.#ctor(System.Action,System.Action{System.Exception})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.SynchronizedOperationBase"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
            <param name="exceptionAction">The action to be performed if an exception is thrown from the action.</param>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.RunOnce">
            <summary>
            Executes the action on this thread or marks the
            operation as pending if the operation is already running.
            </summary>
            <remarks>
            When the operation is marked as pending, it will run again after the
            operation that is currently running has completed. This is useful if
            an update has invalidated the operation that is currently running and
            will therefore need to be run again.
            </remarks>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.RunOnceAsync">
            <summary>
            Executes the action on another thread or marks the
            operation as pending if the operation is already running.
            </summary>
            <remarks>
            When the operation is marked as pending, it will run again after the
            operation that is currently running has completed. This is useful if
            an update has invalidated the operation that is currently running and
            will therefore need to be run again.
            </remarks>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.TryRun">
            <summary>
            Attempts to execute the action on this thread.
            Does nothing if the operation is already running.
            </summary>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.TryRunAsync">
            <summary>
            Attempts to execute the action on another thread.
            Does nothing if the operation is already running.
            </summary>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.ExecuteAction">
            <summary>
            Executes the action once on the current thread.
            </summary>
            <returns>True if the action was pending and needs to run again; false otherwise.</returns>
        </member>
        <member name="M:GSF.Threading.SynchronizedOperationBase.ExecuteActionAsync">
             <summary>
             Executes the action on a separate thread.
             </summary>
             <remarks>
             Implementers should call <see cref="M:GSF.Threading.SynchronizedOperationBase.ExecuteAction"/> on a separate thread
             and check the return value. If it returns true, that means it needs to run
             again. The following is a sample implementation using a regular dedicated
             thread.
             
             <code>
             protected override void ExecuteActionAsync()
             {
                 Thread actionThread = new Thread(() =&gt;
                 {
                     while (ExecuteAction())
                     {
                     }
                 });
            
                 actionThread.Start();
             }
             </code>
             </remarks>
        </member>
        <member name="P:GSF.Threading.SynchronizedOperationBase.IsRunning">
            <summary>
            Gets a value to indicate whether the synchronized
            operation is currently executing its action.
            </summary>
        </member>
        <member name="M:GSF.Threading.LongSynchronizedOperation.#ctor(System.Action)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.LongSynchronizedOperation"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
        </member>
        <member name="M:GSF.Threading.LongSynchronizedOperation.#ctor(System.Action,System.Action{System.Exception})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.LongSynchronizedOperation"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
            <param name="exceptionAction">The action to be performed if an exception is thrown from the action.</param>
        </member>
        <member name="M:GSF.Threading.LongSynchronizedOperation.ExecuteActionAsync">
            <summary>
            Executes the action on a separate thread.
            </summary>
        </member>
        <member name="P:GSF.Threading.LongSynchronizedOperation.IsBackground">
            <summary>
            Gets or sets whether or not the thread
            executing the action is a background thread.
            </summary>
        </member>
        <member name="T:GSF.Threading.ThreadType">
            <summary>
            Managed Thread Types
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadType.StandardThread">
            <summary>Standard thread created with public constructor</summary>
        </member>
        <member name="F:GSF.Threading.ThreadType.QueuedThread">
            <summary>Queued thread added into managed thread pool</summary>
        </member>
        <member name="T:GSF.Threading.ThreadStatus">
            <summary>
            Managed Thread States
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Unstarted">
            <summary>Thread created, not started</summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Queued">
            <summary>Thread queued for execution</summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Started">
            <summary>Thread start requested, execution pending</summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Executing">
            <summary>Thread executing</summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Completed">
            <summary>Thread completed</summary>
        </member>
        <member name="F:GSF.Threading.ThreadStatus.Aborted">
            <summary>Thread aborted</summary>
        </member>
        <member name="T:GSF.Threading.ManagedThread">
            <summary>
            Defines a managed thread
            </summary>
            <remarks>
            This class works like any normal thread but provides the benefit of automatic tracking
            through the ManagedThreads collection, total thread runtime and the ability to run
            the thread in an alternate execution context
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThread.#ctor(System.Threading.ThreadStart)">
            <summary>
            Initializes a new instance of the ManagedThread class.
            </summary>
            <param name="callback">A <see cref="T:System.Threading.ThreadStart"/> object.</param>
        </member>
        <member name="M:GSF.Threading.ManagedThread.#ctor(System.Threading.ParameterizedThreadStart)">
            <summary>
            Initializes a new instance of the ManagedThread class, specifying a delegate that allows an object to be passed to the thread when the thread is started.
            </summary>
            <param name="callback">A <see cref="T:System.Threading.ParameterizedThreadStart"/> object.</param>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Abort">
            <summary>
            Raises a ThreadAbortException in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread.
            </summary>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Abort(System.Object)">
            <summary>
            Raises a ThreadAbortException in the thread on which it is invoked, to begin the process of terminating the thread. Calling this method usually terminates the thread.
            </summary>
            <param name="stateInfo">An object that contains application-specific information, such as state, which can be used by the thread being aborted.</param>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Start">
            <summary>
            Causes a thread to be scheduled for execution.
            </summary>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Start(System.Object)">
            <summary>
            Causes a thread to be scheduled for execution.
            </summary>
            <param name="parameter">An object that contains data to be used by the method the thread executes.</param>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Join">
            <summary>
            Blocks the calling thread until a thread terminates or the specified time elapses, while continuing to perform standard COM and SendMessage pumping.
            </summary>
            <remarks>
            This is only available for standard threads - queued threads don't have an associated thread until they are executing.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Join(System.Int32)">
            <summary>
            Blocks the calling thread until a thread terminates or the specified time elapses, while continuing to perform standard COM and SendMessage pumping.
            </summary>
            <param name="millisecondsTimeout">The number of milliseconds to wait for the thread to terminate. </param>
            <returns>true if the thread has terminated; false if the thread has not terminated after the amount of time specified by the millisecondsTimeout parameter has elapsed.</returns>
            <remarks>
            This is only available for standard threads - queued threads don't have an associated thread until they are executing.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThread.Join(System.TimeSpan)">
            <summary>
            Blocks the calling thread until a thread terminates or the specified time elapses, while continuing to perform standard COM and SendMessage pumping.
            </summary>
            <param name="timeout">A TimeSpan set to the amount of time to wait for the thread to terminate. </param>
            <returns>true if the thread terminated; false if the thread has not terminated after the amount of time specified by the timeout parameter has elapsed.</returns>
            <remarks>
            This is only available for standard threads - queued threads don't have an associated thread until they are executing.
            </remarks>
        </member>
        <member name="P:GSF.Threading.ManagedThread.State">
            <summary>
            An object containing data to be used by the thread's execution method.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.Tag">
            <summary>
            An object that allows additional user defined information to be tracked along with this thread.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.Type">
            <summary>
            Returns the managed thread type (either StandardThread or QueuedThread)
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.Status">
            <summary>
            Gets a value containing the curretn status of the current thread.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.IsAlive">
            <summary>
            Gets a value indicating the execution status of the current thread.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.Name">
            <summary>
            Gets or sets the name of the thread.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.StartTime">
            <summary>
            Get the time, in ticks, that the thread started executing
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.StopTime">
            <summary>
            Get the time, in ticks, that the thread finished executing
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.RunTime">
            <summary>
            Gets the total amount of time, in seconds, that the managed thread has been active.
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThread.Priority">
            <summary>
            Gets or sets a value indicating the scheduling priority of a thread.
            </summary>
            <returns>One of the ThreadPriority values. The default value is Normal.</returns>
            <remarks>
            Changing of this value is only available to standard threads - you can't change the priorty of queued threads since they are already
            allocated and owned by the .NET thread pool.
            </remarks>
        </member>
        <member name="T:GSF.Threading.ManagedThreadPool">
            <summary>
            Defines a managed thread pool
            </summary>
            <remarks>
            This class works like the normal thread pool but provides the benefit of automatic tracking
            of queued threads through the ManagedThreads collection, returns a reference to the
            queued thread with the ability to dequeue and/or abort, total thread runtime and the
            ability to run the queued thread in an alternate execution context
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreadPool.QueueUserWorkItem(System.Threading.ThreadStart)">
            <summary>
            Queues a work item for processing on the managed thread pool
            </summary>
            <param name="callback">A WaitCallback representing the method to execute.</param>
            <returns>Reference to queued thread</returns>
            <remarks>
            This differs from the normal thread pool QueueUserWorkItem function in that it does
            not return a success value determing if item was queued, but rather a reference to
            to the managed thread that was actually placed on the queue.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreadPool.QueueUserWorkItem(System.Threading.ParameterizedThreadStart)">
            <summary>
            Queues a work item for processing on the managed thread pool
            </summary>
            <param name="callback">A WaitCallback representing the method to execute.</param>
            <returns>Reference to queued thread</returns>
            <remarks>
            This differs from the normal thread pool QueueUserWorkItem function in that it does
            not return a success value determing if item was queued, but rather a reference to
            to the managed thread that was actually placed on the queue.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreadPool.QueueUserWorkItem(System.Threading.ParameterizedThreadStart,System.Object)">
            <summary>
            Queues a work item for processing on the managed thread pool
            </summary>
            <param name="callback">A WaitCallback representing the method to execute.</param>
            <param name="state">An object containing data to be used by the method.</param>
            <returns>Reference to queued thread</returns>
            <remarks>
            This differs from the normal thread pool QueueUserWorkItem function in that it does
            not return a success value determing if item was queued, but rather a reference to
            to the managed thread that was actually placed on the queue.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreadPool.QueueUserWorkItem(System.Threading.ContextCallback,System.Threading.ExecutionContext)">
            <summary>
            Queues a work item for processing on the managed thread pool
            </summary>
            <param name="callback">A WaitCallback representing the method to execute.</param>
            <param name="ctx">Alternate execution context in which to run the thread.</param>
            <returns>Reference to queued thread</returns>
            <remarks>
            This differs from the normal thread pool QueueUserWorkItem function in that it does
            not return a success value determing if item was queued, but rather a reference to
            to the managed thread that was actually placed on the queue.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreadPool.QueueUserWorkItem(System.Threading.ContextCallback,System.Object,System.Threading.ExecutionContext)">
            <summary>
            Queues a work item for processing on the managed thread pool
            </summary>
            <param name="callback">A WaitCallback representing the method to execute.</param>
            <param name="state">An object containing data to be used by the method.</param>
            <param name="ctx">Alternate execution context in which to run the thread.</param>
            <returns>Reference to queued thread</returns>
            <remarks>
            This differs from the normal thread pool QueueUserWorkItem function in that it does
            not return a success value determing if item was queued, but rather a reference to
            to the managed thread that was actually placed on the queue.
            </remarks>
        </member>
        <member name="T:GSF.Threading.ManagedThreads">
            <summary>
            Maintains a reference to all managed threads
            </summary>
        </member>
        <member name="M:GSF.Threading.ManagedThreads.Add(GSF.Threading.ManagedThread)">
            <summary>
            Add an item to the active thread list
            </summary>
            <remarks>
            Typically only used by standard threads when user calls "Start"
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreads.Remove(GSF.Threading.ManagedThread)">
            <summary>
            Remove completed thread from active thread list
            </summary>
        </member>
        <member name="M:GSF.Threading.ManagedThreads.Queue(GSF.Threading.ManagedThread)">
            <summary>
            Queue thread for processing
            </summary>
            <remarks>
            Typically only used by queued threads to add work items to the queue
            </remarks>
        </member>
        <member name="M:GSF.Threading.ManagedThreads.Pop">
            <summary>
            Removes first item from the queue and transfers the item to the active thread list
            </summary>
            <returns>Next item to be processed</returns>
        </member>
        <member name="M:GSF.Threading.ManagedThreads.Cancel(GSF.Threading.ManagedThread,System.Boolean,System.Object)">
            <summary>
            Removes a queued thread from thread pool if still queued, if allowAbort is True
            aborts the thread if executing (standard or queued)
            </summary>
            <param name="item">Thread to cancel</param>
            <param name="allowAbort">Set to True to abort thread if executing</param>
            <param name="stateInfo">An object that contains application-specific information, such as state, which can be used by the thread being aborted.</param>
        </member>
        <member name="P:GSF.Threading.ManagedThreads.ActiveThreadStatus">
            <summary>
            Returns a descriptive status of all queued and active mananged threads
            </summary>
        </member>
        <member name="P:GSF.Threading.ManagedThreads.QueuedThreads">
            <summary>
            Returns a copy of the currently queued and active threads
            </summary>
        </member>
        <member name="T:GSF.Threading.NamespaceDoc">
            <summary>
            Contains classes used to define managed threads that can be used for debugging threads by providing 
            automatic tracking, total thread runtime and the ability to run threads in alternate execution contexts.
            </summary>
        </member>
        <member name="T:GSF.Threading.ReaderWriterSpinLock">
            <summary>
            Represents a fast, lightweight reader/writer lock that uses spinning to perform locking. No recursive acquires or
            upgradable locks are allowed (i.e., all entered locks must be exited before entering another lock).
            </summary>
            <remarks>
            This reader/writer lock uses <see cref="T:System.Threading.SpinWait"/> to spin the CPU instead of engaging event based locking. As a result it
            should only be used in cases where lock times are expected to be very small, reads are very frequent and writes are rare.
            If hold times for write locks can be lengthy, it will be better to use <see cref="T:System.Threading.ReaderWriterLockSlim"/> instead to avoid
            unnecessary CPU utilization due to spinning incurred by waiting reads.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ReaderWriterSpinLock.EnterWriteLock">
            <summary>
            Enters the lock in write mode.
            </summary>
            <remarks>
            Upon successful acquisition of a write lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.ReaderWriterSpinLock.ExitWriteLock"/>.
            One <see cref="M:GSF.Threading.ReaderWriterSpinLock.ExitWriteLock"/> should be called for each <see cref="M:GSF.Threading.ReaderWriterSpinLock.EnterWriteLock"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ReaderWriterSpinLock.ExitWriteLock">
            <summary>
            Exits write mode.
            </summary>
        </member>
        <member name="M:GSF.Threading.ReaderWriterSpinLock.EnterReadLock">
            <summary>
            Enters the lock in read mode.
            </summary>
            <remarks>
            Upon successful acquisition of a read lock, use the <c>finally</c> block of a <c>try/finally</c> statement to call <see cref="M:GSF.Threading.ReaderWriterSpinLock.ExitReadLock"/>.
            One <see cref="M:GSF.Threading.ReaderWriterSpinLock.ExitReadLock"/> should be called for each <see cref="M:GSF.Threading.ReaderWriterSpinLock.EnterReadLock"/>.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ReaderWriterSpinLock.ExitReadLock">
            <summary>
            Exits read mode.
            </summary>
            <exception cref="T:System.InvalidOperationException">Cannot exit read lock when there are no readers.</exception>
        </member>
        <member name="T:GSF.Threading.ThreadingMode">
            <summary>
            Specifies the threading mode to use for the <see cref="T:GSF.Threading.ScheduledTask"/>
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadingMode.DedicatedForeground">
            <summary>
            A dedicated thread that is a foreground thread.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadingMode.DedicatedBackground">
            <summary>
            A dedicated thread that is a background thread.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadingMode.ThreadPool">
            <summary>
            A background thread from the thread pool.
            </summary>
        </member>
        <member name="T:GSF.Threading.ScheduledTaskRunningReason">
            <summary>
            Metadata about why this worker was called.
            </summary>
        </member>
        <member name="F:GSF.Threading.ScheduledTaskRunningReason.Running">
            <summary>
            A normal run was scheduled.
            </summary>
        </member>
        <member name="F:GSF.Threading.ScheduledTaskRunningReason.Disposing">
            <summary>
            Dispose was called and execution will terminate after this function call.
            </summary>
        </member>
        <member name="T:GSF.Threading.ScheduledTask">
            <summary>
            Represents a way to schedule a task to be executed on a separate thread immediately or after a given time delay.
            </summary>
        </member>
        <member name="M:GSF.Threading.ScheduledTask.#ctor(GSF.Threading.ThreadingMode,System.Threading.ThreadPriority)">
            <summary>
            Creates a <see cref="T:GSF.Threading.ScheduledTask"/>.
            </summary>
            <param name="threadMode">The manner in which the scheduled task executes.</param>
            <param name="priority">The thread priority to assign if a dedicated thread is used. This is ignored if using the thread-pool.</param>
        </member>
        <member name="M:GSF.Threading.ScheduledTask.Finalize">
            <summary>
            Cleans up the <see cref="T:GSF.Threading.ThreadContainerBase"/> thread since that class likely will never be garbage collected.
            </summary>
        </member>
        <member name="M:GSF.Threading.ScheduledTask.Start">
            <summary>
            Starts the task immediately, or if one was scheduled, starts the scheduled task immediately
            </summary>
            <remarks>
            <para>
            If this is called after a <see cref="M:GSF.Threading.ScheduledTask.Start(System.Int32)"/> the timer will be canceled
            and the process will still start immediately. 
            </para>
            <para>
            This method is safe to call from any thread, including the worker thread.
            If disposed, this method will no nothing.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Threading.ScheduledTask.Start(System.Int32)">
            <summary>
            Starts a timer to run the task after a provided interval. 
            </summary>
            <param name="delay">the delay in milliseconds before the task should run</param>
            <remarks>
            <para>
            If a timer is currently pending, this function will do nothing. Do not use this
            function to reset or restart an existing timer.
            </para>
            <para>
            If called while working, a subsequent timer will be scheduled, but delay will not
            start until after the worker has completed.
            </para>
            <para>
            This method is safe to call from any thread, including the worker thread.
            If disposed, this method will no nothing.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Threading.ScheduledTask.Dispose">
            <summary>
            Starts the disposing process of exiting the worker thread. 
            </summary>
            <remarks>
            <para>Callback will be invoked one more time. Duplicate calls are ignored.</para>
            <para>
            Unless called from the worker thread, this method will block until the dispose
            has successfully completed.
            </para>
            </remarks>
        </member>
        <member name="E:GSF.Threading.ScheduledTask.Running">
            <summary>
            Occurs every time the task should run.
            </summary>
        </member>
        <member name="E:GSF.Threading.ScheduledTask.Disposing">
            <summary>
            Occurs right before this task is disposed.
            </summary>
        </member>
        <member name="E:GSF.Threading.ScheduledTask.UnhandledException">
            <summary>
            Occurs when <see cref="E:GSF.Threading.ScheduledTask.Running"/> or <see cref="E:GSF.Threading.ScheduledTask.Disposing"/> event throws an exception.
            </summary>
        </member>
        <member name="T:GSF.Threading.ShortSynchronizedOperation">
            <summary>
            Represents a short-running synchronized operation
            that cannot run while it is already in progress.
            </summary>
            <remarks>
            The action performed by the <see cref="T:GSF.Threading.ShortSynchronizedOperation"/> is executed on
            the <see cref="T:System.Threading.ThreadPool"/> when running the operation asynchronously. When the
            operation is set to pending, the action is executed in an asynchronous loop on the
            thread pool until all pending operations have been completed. Since the action is
            executed on the thread pool, it is best if it can be executed quickly, without
            blocking the thread or putting it to sleep. If completion of the operation is
            critical, such as when saving data to a file, this type of operation should not
            be used since thread pool threads are background threads and will not prevent the
            program from ending before the operation is complete.
            </remarks>
        </member>
        <member name="M:GSF.Threading.ShortSynchronizedOperation.#ctor(System.Action)">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.ShortSynchronizedOperation"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
        </member>
        <member name="M:GSF.Threading.ShortSynchronizedOperation.#ctor(System.Action,System.Action{System.Exception})">
            <summary>
            Creates a new instance of the <see cref="T:GSF.Threading.ShortSynchronizedOperation"/> class.
            </summary>
            <param name="action">The action to be performed during this operation.</param>
            <param name="exceptionAction">The action to be performed if an exception is thrown from the action.</param>
        </member>
        <member name="M:GSF.Threading.ShortSynchronizedOperation.ExecuteActionAsync">
            <summary>
            Executes the action in an asynchronous loop on
            the thread pool, as long as the operation is pending.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.m_runAgainAfterDelay">
            <summary>
            A value less than 0 means false. 
            </summary>
        </member>
        <member name="M:GSF.Threading.ThreadContainerBase.StartDisposal">
            <summary>
            Same as Start() except notifies on the callback during a race condition that this is the one that was first to schedule the task.
            </summary>
            <returns></returns>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.CallbackArgs.StartDisposalCallSuccessful">
            <summary>
            Gets if StartDisposal() method is the only item that triggered this run.
            </summary>
        </member>
        <member name="T:GSF.Threading.ThreadContainerBase.State">
            <summary>
            State variables for the internal state machine.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.NotRunning">
            <summary>
            Indicates that the task is not running.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.ScheduledToRunAfterDelay">
            <summary>
            Indicates that the task is scheduled to execute after a user specified delay
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.ScheduledToRun">
            <summary>
            Indicates the task has been queue for immediate execution, but has not started running yet.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.Running">
            <summary>
            Once in a running state, only the worker thread can change its state.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.AfterRunning">
            <summary>
            Once reaching this state, the effect of RunAgain being set will no longer be valid.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerBase.State.Disposed">
            <summary>
            A disposed state
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerThreadpool.m_registeredHandle">
            <summary>
            Handle that is created when telling the threadpool to do a delayed start.
            </summary>
        </member>
        <member name="F:GSF.Threading.ThreadContainerThreadpool.m_waitObject">
            <summary>
            The reset event that allows the timer to be short circuited.
            </summary>
        </member>
        <member name="T:GSF.Threading.WeakAction">
            <summary>
            Provides a weak referenced action delegate.
            </summary>
            <remarks>
            <para>
            Unlike many implementations of a weak action, this class does not
            use reflection so calls will be faster. However, a strong reference
            *must* be maintained for the <see cref="T:System.Action"/> callback passed
            to this class. This reference is returned through an out parameter
            in the constructor.
            </para>
            <para>
            Careful consideration must be made when deciding where to store
            the strong reference as this strong reference will need to also
            lose reference. A good place would be as a member variable of the
            object of the target method.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Threading.WeakAction.#ctor(System.Action,System.Object@)">
            <summary>
            Creates a high speed weak action.
            </summary>
            <param name="callback">The callback.</param>
            <param name="localStrongReference">A strong reference that must be maintained in the class that is the target of the action.</param>
        </member>
        <member name="M:GSF.Threading.WeakAction.TryInvoke">
            <summary>
            Attempts to invoke the delegate to a weak reference object.
            </summary>
            <returns><c>true</c> if successful; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Threading.WeakAction.Clear">
            <summary>
            Clears <see cref="T:System.Action"/> callback target.
            </summary>
        </member>
        <member name="T:GSF.Threading.WeakAction`1">
            <summary>
            Provides a weak referenced action delegate.
            </summary>
            <remarks>
            <para>
            Unlike many implementations of a weak action, this class does not
            use reflection so calls will be faster. However, a strong reference
            *must* be maintained for the <see cref="T:System.Action"/> callback passed
            to this class. This reference is returned through an out parameter
            in the constructor.
            </para>
            <para>
            Careful consideration must be made when deciding where to store
            the strong reference as this strong reference will need to also
            lose reference. A good place would be as a member variable of the
            object of the target method.
            </para>
            </remarks>
        </member>
        <member name="M:GSF.Threading.WeakAction`1.#ctor(System.Action{`0},System.Object@)">
            <summary>
            Creates a high speed weak action 
            </summary>
            <param name="callback">The callback.</param>
            <param name="localStrongReference">A strong reference that must be maintained in the class that is the target of the action.</param>
        </member>
        <member name="M:GSF.Threading.WeakAction`1.TryInvoke(`0)">
            <summary>
            Attempts to invoke the delegate to a weak reference object.
            </summary>
            <returns><c>true</c> if successful; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Threading.WeakAction`1.Clear">
            <summary>
            Clears <see cref="T:System.Action"/> callback target.
            </summary>
        </member>
        <member name="T:GSF.BaselineTimeInterval">
            <summary>
            Time intervals enumeration used by <see cref="M:GSF.Ticks.BaselinedTimestamp(GSF.BaselineTimeInterval)"/> method.
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Second">
            <summary>
            Baseline timestamp to the second (i.e., starting at zero milliseconds).
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Minute">
            <summary>
            Baseline timestamp to the minute (i.e., starting at zero seconds and milliseconds).
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Hour">
            <summary>
            Baseline timestamp to the hour (i.e., starting at zero minutes, seconds and milliseconds).
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Day">
            <summary>
            Baseline timestamp to the day (i.e., starting at zero hours, minutes, seconds and milliseconds).
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Month">
            <summary>
            Baseline timestamp to the month (i.e., starting at day one, zero hours, minutes, seconds and milliseconds).
            </summary>
        </member>
        <member name="F:GSF.BaselineTimeInterval.Year">
            <summary>
            Baseline timestamp to the year (i.e., starting at month one, day one, zero hours, minutes, seconds and milliseconds).
            </summary>
        </member>
        <member name="T:GSF.Ticks">
            <summary>
            Represents an instant in time, or time period, as a 64-bit signed integer with a value that is expressed as the number
            of 100-nanosecond intervals that have elapsed since 12:00:00 midnight, January 1, 0001.
            </summary>
            <remarks>
            <para>
            <see cref="T:GSF.Ticks"/> can represent an "instant in time" and therefore can be used exactly like a <see cref="T:System.DateTime"/>.
            The difference between <see cref="T:GSF.Ticks"/> and <see cref="T:System.DateTime"/> is that <see cref="T:GSF.Ticks"/> is essentially a long
            integer (i.e., an <see cref="T:System.Int64"/>) which represents the number of ticks that have elapsed since 12:00:00 midnight,
            January 1, 0001 with each tick having a resolution of 100-nanoseconds. You would use <see cref="T:GSF.Ticks"/> in places where
            you needed to directly represent time in high-resolution, i.e., time with sub-second accuracy, using an object that will
            act like a long integer but handle time conversions. <see cref="T:GSF.Ticks"/> can also represent a "time period" (e.g., the
            number of ticks elapsed since a process started) and thus can also be used like a <see cref="T:System.TimeSpan"/>; when used in
            this manner the <see cref="M:GSF.Ticks.ToElapsedTimeString"/> method can be used to convert the <see cref="T:GSF.Ticks"/> value
            into a handy textual representation of elapsed years, days, hours, minutes and seconds or sub-seconds.
            </para>
            <para>
            This class behaves just like an <see cref="T:System.Int64"/> representing a time in ticks; it is implicitly castable to and from
            an <see cref="T:System.Int64"/> and therefore can be generally used "as" an Int64 directly. It is also implicitly castable to and
            from a <see cref="T:System.DateTime"/>, a <see cref="T:System.TimeSpan"/>, an <see cref="T:GSF.NtpTimeTag"/> and a <see cref="T:GSF.UnixTimeTag"/>.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.Ticks.PerSecond">
            <summary>
            Number of 100-nanosecond ticks in one second.
            </summary>
        </member>
        <member name="F:GSF.Ticks.PerMillisecond">
            <summary>
            Number of 100-nanosecond ticks in one millisecond.
            </summary>
        </member>
        <member name="F:GSF.Ticks.PerMicrosecond">
            <summary>
            Number of 100-nanosecond ticks in one microsecond.
            </summary>
        </member>
        <member name="F:GSF.Ticks.PerMinute">
            <summary>
            Number of 100-nanosecond ticks in one minute.
            </summary>
        </member>
        <member name="F:GSF.Ticks.PerHour">
            <summary>
            Number of 100-nanosecond ticks in one hour.
            </summary>
        </member>
        <member name="F:GSF.Ticks.PerDay">
            <summary>
            Number of 100-nanosecond ticks in one day.
            </summary>
        </member>
        <member name="F:GSF.Ticks.Value">
            <summary>
            Time value stored in ticks.
            </summary>
        </member>
        <member name="M:GSF.Ticks.#ctor(System.Int64)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value">New time value in ticks.</param>
        </member>
        <member name="M:GSF.Ticks.#ctor(System.DateTime)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value">New time value as a <see cref="T:System.DateTime"/>.</param>
        </member>
        <member name="M:GSF.Ticks.#ctor(System.TimeSpan)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value">New time value as a <see cref="T:System.TimeSpan"/>.</param>
        </member>
        <member name="M:GSF.Ticks.ToSeconds">
            <summary>
            Gets the <see cref="T:GSF.Ticks"/> value in equivalent number of seconds.
            </summary>
            <returns>Value of <see cref="T:GSF.Ticks"/> in seconds.</returns>
            <remarks>
            If <see cref="T:GSF.Ticks"/> value represents an instant in time, returned value will represent the number of seconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.ToMilliseconds">
            <summary>
            Gets the <see cref="T:GSF.Ticks"/> value in equivalent number of milliseconds.
            </summary>
            <returns>Value of <see cref="T:GSF.Ticks"/> in milliseconds.</returns>
            <remarks>
            If <see cref="T:GSF.Ticks"/> value represents an instant in time, returned value will represent the number of milliseconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.ToMicroseconds">
            <summary>
            Gets the <see cref="T:GSF.Ticks"/> value in equivalent number of microseconds.
            </summary>
            <returns>Value of <see cref="T:GSF.Ticks"/> in microseconds.</returns>
            <remarks>
            If <see cref="T:GSF.Ticks"/> value represents an instant in time, returned value will represent the number of microseconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.UtcTimeIsValid(System.Double,System.Double)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value in UTC time, is valid by comparing it to
            the system clock.
            </summary>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be valid.</param>
            <returns>True, if UTC time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of system clock time in UTC. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be set
            to sub-second intervals.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be less than one.
            </exception>
        </member>
        <member name="M:GSF.Ticks.UtcTimeIsValid(GSF.Ticks,GSF.Ticks)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value in UTC time, is valid by comparing it to
            the system clock.
            </summary>
            <param name="lagTime">The allowed lag time, in ticks, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in ticks, before assuming time is too advanced to be valid.</param>
            <returns>True, if UTC time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of system clock time in UTC. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </exception>
        </member>
        <member name="M:GSF.Ticks.LocalTimeIsValid(System.Double,System.Double)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value in local time, is valid by comparing it to
            the system clock.
            </summary>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be valid.</param>
            <returns>True, if local time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of local system clock time. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be set
            to sub-second intervals.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be less than one.
            </exception>
        </member>
        <member name="M:GSF.Ticks.LocalTimeIsValid(GSF.Ticks,GSF.Ticks)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value in local time, is valid by comparing it to
            the system clock.
            </summary>
            <param name="lagTime">The allowed lag time, in ticks, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in ticks, before assuming time is too advanced to be valid.</param>
            <returns>True, if local time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of local system clock time. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </exception>
        </member>
        <member name="M:GSF.Ticks.TimeIsValid(GSF.Ticks,System.Double,System.Double)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value, is valid by comparing it to the specified
            current time.
            </summary>
            <param name="currentTime">Specified current time (e.g., could be DateTime.Now.Ticks).</param>
            <param name="lagTime">The allowed lag time, in seconds, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in seconds, before assuming time is too advanced to be valid.</param>
            <returns>True, if time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of <paramref name="currentTime"/>. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be set
            to sub-second intervals.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero, but can be less than one.
            </exception>
        </member>
        <member name="M:GSF.Ticks.TimeIsValid(GSF.Ticks,GSF.Ticks,GSF.Ticks)">
            <summary>
            Determines if time, represented by <see cref="T:GSF.Ticks"/> value, is valid by comparing it to the specified
            current time.
            </summary>
            <param name="currentTime">Specified current time (e.g., could be DateTime.Now.Ticks).</param>
            <param name="lagTime">The allowed lag time, in ticks, before assuming time is too old to be valid.</param>
            <param name="leadTime">The allowed lead time, in ticks, before assuming time is too advanced to be valid.</param>
            <returns>True, if time represented by <see cref="T:GSF.Ticks"/> value, is within the specified range.</returns>
            <remarks>
            Time, represented by <see cref="T:GSF.Ticks"/> value, is considered valid if it exists within the specified
            <paramref name="lagTime"/> and <paramref name="leadTime"/> range of <paramref name="currentTime"/>. Note
            that <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="lagTime"/> and <paramref name="leadTime"/> must be greater than zero.
            </exception>
        </member>
        <member name="M:GSF.Ticks.DistanceBeyondSecond">
            <summary>
            Gets the distance, in 100-nanoseconds intervals, beyond the top of the second in the timestamp
            represented by the <see cref="T:GSF.Ticks"/>.
            </summary>
            <returns>
            Number of 100-nanoseconds intervals <see cref="T:GSF.Ticks"/> value is from the top of the second.
            </returns>
        </member>
        <member name="M:GSF.Ticks.BaselinedTimestamp(GSF.BaselineTimeInterval)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/> value that represents a base-lined timestamp, in 100-nanoseconds
            intervals, that begins at the beginning of the specified time interval.
            </summary>
            <param name="interval">
            <see cref="T:GSF.BaselineTimeInterval"/> to which <see cref="T:GSF.Ticks"/> timestamp should be base-lined.
            </param>
            <returns>
            A new <see cref="T:GSF.Ticks"/> value that represents a base-lined timestamp, in 100-nanoseconds intervals,
            that begins at the specified <see cref="T:GSF.BaselineTimeInterval"/>.
            </returns>
            <remarks>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Second"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at zero milliseconds.<br/>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Minute"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at zero seconds and milliseconds.<br/>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Hour"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at zero minutes, seconds and milliseconds.<br/>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Day"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at zero hours, minutes, seconds and milliseconds.<br/>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Month"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at day one, zero hours, minutes, seconds and milliseconds.<br/>
            Base-lining to the <see cref="F:GSF.BaselineTimeInterval.Year"/> would return the <see cref="T:GSF.Ticks"/>
            value starting at month one, day one, zero hours, minutes, seconds and milliseconds.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.ToString">
            <summary>
            Converts the value of the <see cref="T:GSF.Ticks"/> value to its equivalent <see cref="T:System.DateTime"/> string representation.
            </summary>
            <returns>A <see cref="T:System.DateTime"/> string representation of the <see cref="T:GSF.Ticks"/> value.</returns>
        </member>
        <member name="M:GSF.Ticks.ToString(System.String)">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value to its equivalent string representation, using
            the specified <see cref="T:System.DateTime"/> format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Ticks.ToString(System.IFormatProvider)">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value to its equivalent string representation, using
            the specified culture-specific <see cref="T:System.DateTime"/> format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Ticks.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value to its equivalent string representation, using
            specified format and culture-specific <see cref="T:System.DateTime"/> format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Ticks.ToElapsedTimeString">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value into a textual representation of years, days, hours,
            minutes and seconds.
            </summary>
            <remarks>
            Note that this ToElapsedTimeString overload will not display fractional seconds. To allow
            display of fractional seconds, or completely remove second resolution from the textual
            representation, use the <see cref="M:GSF.Ticks.ToElapsedTimeString(System.Int32,System.Double)"/> overload instead.
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
        </member>
        <member name="M:GSF.Ticks.ToElapsedTimeString(System.Int32,System.Double)">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits.
            </summary>
            <param name="secondPrecision">Number of fractional digits to display for seconds.</param>
            <param name="minimumSubSecondResolution">
            Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.
            </param>
            <remarks>
            Set <paramref name="secondPrecision"/> to -1 to suppress seconds display, this will
            force minimum resolution of time display to minutes.
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="M:GSF.Ticks.ToElapsedTimeString(System.Int32,System.String[],System.Double)">
            <summary>
            Converts the <see cref="T:GSF.Ticks"/> value into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits given string array of
            time names.
            </summary>
            <param name="secondPrecision">Number of fractional digits to display for seconds.</param>
            <param name="timeNames">Time names array to use during textual conversion.</param>
            <param name="minimumSubSecondResolution">
            Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.
            </param>
            <remarks>
            <para>
            Set <paramref name="secondPrecision"/> to -1 to suppress seconds display, this will
            force minimum resolution of time display to minutes.
            </para>
            <para>
            <paramref name="timeNames"/> array needs one string entry for each of the following names:<br/>
            " year", " years", " day", " days", " hour", " hours", " minute", " minutes", " second", " seconds", "less than ".
            </para>
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="M:GSF.Ticks.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not an <see cref="T:System.Int64"/> or <see cref="T:GSF.Ticks"/>.</exception>
        </member>
        <member name="M:GSF.Ticks.CompareTo(GSF.Ticks)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Ticks"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Ticks"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Ticks.CompareTo(System.DateTime)">
            <summary>
            Compares this instance to a specified <see cref="T:System.DateTime"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.DateTime"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Ticks.CompareTo(System.TimeSpan)">
            <summary>
            Compares this instance to a specified <see cref="T:System.TimeSpan"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.TimeSpan"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Ticks.CompareTo(System.Int64)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Int64"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">An <see cref="T:System.Int64"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Ticks.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Int64"/> or <see cref="T:GSF.Ticks"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Ticks.Equals(GSF.Ticks)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Ticks"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Ticks"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Ticks.Equals(System.DateTime)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.DateTime"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.DateTime"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Ticks.Equals(System.TimeSpan)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.TimeSpan"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.TimeSpan"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Ticks.Equals(System.Int64)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Int64"/> value.
            </summary>
            <param name="obj">An <see cref="T:System.Int64"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Ticks.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Ticks.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Int64"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Int64"/>.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Equality(GSF.Ticks,GSF.Ticks)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Inequality(GSF.Ticks,GSF.Ticks)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_LessThan(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_LessThanOrEqual(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_GreaterThan(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_GreaterThanOrEqual(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(System.Int64)~GSF.Ticks">
            <summary>
            Implicitly converts value, represented in ticks, to a <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value"><see cref="T:System.Int64"/> value to convert.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(System.DateTime)~GSF.Ticks">
            <summary>
            Implicitly converts value, represented as a <see cref="T:System.DateTime"/>, to a <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value"><see cref="T:System.DateTime"/> value to convert.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(System.TimeSpan)~GSF.Ticks">
            <summary>
            Implicitly converts value, represented as a <see cref="T:System.TimeSpan"/>, to a <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value"><see cref="T:System.TimeSpan"/> value to convert.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.TimeTagBase)~GSF.Ticks">
            <summary>
            Implicitly converts value, represented as a <see cref="T:GSF.TimeTagBase"/>, to a <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="value"><see cref="T:GSF.TimeTagBase"/> value to convert.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.Ticks)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.Ticks"/>, represented in ticks, to an <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to convert.</param>
            <returns><see cref="T:System.Int64"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.Ticks)~System.DateTime">
            <summary>
            Implicitly converts <see cref="T:GSF.Ticks"/>, represented in ticks, to a <see cref="T:System.DateTime"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to convert.</param>
            <returns><see cref="T:System.DateTime"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.Ticks)~System.TimeSpan">
            <summary>
            Implicitly converts <see cref="T:GSF.Ticks"/>, represented in ticks, to a <see cref="T:System.TimeSpan"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to convert.</param>
            <returns><see cref="T:System.TimeSpan"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.Ticks)~GSF.NtpTimeTag">
            <summary>
            Implicitly converts <see cref="T:GSF.Ticks"/>, represented in ticks, to an <see cref="T:GSF.NtpTimeTag"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to convert.</param>
            <returns><see cref="T:GSF.NtpTimeTag"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Implicit(GSF.Ticks)~GSF.UnixTimeTag">
            <summary>
            Implicitly converts <see cref="T:GSF.Ticks"/>, represented in ticks, to a <see cref="T:GSF.UnixTimeTag"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to convert.</param>
            <returns><see cref="T:GSF.UnixTimeTag"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_True(GSF.Ticks)">
            <summary>
            Returns true if value is not zero.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to evaluate.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_False(GSF.Ticks)">
            <summary>
            Returns true if value is equal to zero.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to evaluate.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_OnesComplement(GSF.Ticks)">
            <summary>
            Returns bitwise complement of value.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to evaluate.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_BitwiseAnd(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_BitwiseOr(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_ExclusiveOr(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.Ticks"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.Ticks"/> right hand operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_RightShift(GSF.Ticks,System.Int32)">
            <summary>
            Returns value after right shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> number of bits to shift.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_LeftShift(GSF.Ticks,System.Int32)">
            <summary>
            Returns value after left shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.Ticks"/> value to shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> number of bits to shift.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Modulus(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Addition(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Subtraction(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Multiply(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Division(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:GSF.Ticks"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.Ticks.op_Exponent(GSF.Ticks,GSF.Ticks)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">Left hand <see cref="T:GSF.Ticks"/> operand.</param>
            <param name="value2">Right hand <see cref="T:GSF.Ticks"/> operand.</param>
            <returns><see cref="T:System.Double"/> value representing the result.</returns>
        </member>
        <member name="F:GSF.Ticks.MaxValue">
            <summary>
            Represents the largest possible value of a <see cref="T:GSF.Ticks"/>. This field is constant.
            </summary>
        </member>
        <member name="F:GSF.Ticks.MinValue">
            <summary>
            Represents the smallest possible value of a <see cref="T:GSF.Ticks"/>. This field is constant.
            </summary>
        </member>
        <member name="M:GSF.Ticks.ToSeconds(GSF.Ticks)">
            <summary>
            Converts <paramref name="value"/>, in 100-nanosecond tick intervals, to seconds.
            </summary>
            <param name="value">Number of ticks to convert to seconds.</param>
            <returns>Number seconds represented by specified <paramref name="value"/> in ticks.</returns>
            <remarks>
            If <paramref name="value"/> represents an instant in time, returned value will represent the number of seconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.ToMilliseconds(GSF.Ticks)">
            <summary>
            Converts <paramref name="value"/>, in 100-nanosecond tick intervals, to milliseconds.
            </summary>
            <param name="value">Number of ticks to convert to milliseconds.</param>
            <returns>Number milliseconds represented by specified <paramref name="value"/> in ticks.</returns>
            <remarks>
            If <paramref name="value"/> represents an instant in time, returned value will represent the number of milliseconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.ToMicroseconds(GSF.Ticks)">
            <summary>
            Converts <paramref name="value"/>, in 100-nanosecond tick intervals, to microseconds.
            </summary>
            <param name="value">Number of ticks to convert to microseconds.</param>
            <returns>Number microseconds represented by specified <paramref name="value"/> in ticks.</returns>
            <remarks>
            If <paramref name="value"/> represents an instant in time, returned value will represent the number of microseconds
            that have elapsed since 12:00:00 midnight, January 1, 0001.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.FromSeconds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/> from the specified <paramref name="value"/> in seconds.
            </summary>
            <param name="value">New <see cref="T:GSF.Ticks"/> value in seconds.</param>
            <returns>New <see cref="T:GSF.Ticks"/> object from the specified <paramref name="value"/> in seconds.</returns>
        </member>
        <member name="M:GSF.Ticks.FromMilliseconds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/> from the specified <paramref name="value"/> in milliseconds.
            </summary>
            <param name="value">New <see cref="T:GSF.Ticks"/> value in milliseconds.</param>
            <returns>New <see cref="T:GSF.Ticks"/> object from the specified <paramref name="value"/> in milliseconds.</returns>
        </member>
        <member name="M:GSF.Ticks.FromMicroseconds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Ticks"/> from the specified <paramref name="value"/> in microseconds.
            </summary>
            <param name="value">New <see cref="T:GSF.Ticks"/> value in microseconds.</param>
            <returns>New <see cref="T:GSF.Ticks"/> object from the specified <paramref name="value"/> in microseconds.</returns>
        </member>
        <member name="M:GSF.Ticks.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Ticks"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Ticks"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or greater than <see cref="F:GSF.Ticks.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Ticks.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Ticks"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Ticks"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or greater than <see cref="F:GSF.Ticks.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Ticks.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Ticks"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Ticks"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or greater than <see cref="F:GSF.Ticks.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Ticks.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Ticks"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Ticks"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or greater than <see cref="F:GSF.Ticks.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Ticks.TryParse(System.String,GSF.Ticks@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Ticks"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Ticks"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or greater than <see cref="F:GSF.Ticks.MaxValue"/>.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Ticks.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Ticks@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Ticks"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Ticks"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Ticks.MinValue"/> or
            greater than <see cref="F:GSF.Ticks.MaxValue"/>. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Ticks.SubsecondDistribution(System.Int32)">
            <summary>
            Gets a sub-second time distribution in <see cref="T:GSF.Ticks"/> for the specified <paramref name="samplesPerSecond"/>.
            </summary>
            <param name="samplesPerSecond">Samples per second.</param>
            <returns>Array of sub-second time distribution in <see cref="T:GSF.Ticks"/>.</returns>
        </member>
        <member name="M:GSF.Ticks.MillisecondDistribution(System.Int32)">
            <summary>
            Gets a sub-second time distribution in milliseconds for the specified <paramref name="samplesPerSecond"/>.
            </summary>
            <param name="samplesPerSecond">Samples per second.</param>
            <returns>Array of sub-second time distribution in milliseconds.</returns>
        </member>
        <member name="M:GSF.Ticks.MicrosecondDistribution(System.Int32)">
            <summary>
            Gets a sub-second time distribution in microseconds for the specified <paramref name="samplesPerSecond"/>.
            </summary>
            <param name="samplesPerSecond">Samples per second.</param>
            <returns>Array of sub-second time distribution in microseconds.</returns>
        </member>
        <member name="M:GSF.Ticks.AlignToSubsecondDistribution(GSF.Ticks,System.Int32,System.Int64)">
            <summary>
            Returns a floor-aligned sub-second distribution timestamp for given <paramref name="timestamp"/>.
            </summary>
            <param name="timestamp">Timestamp to align.</param>
            <param name="samplesPerSecond">Samples per second to use for distribution.</param>
            <param name="timeResolution">Defines the time resolution to use when aligning <paramref name="timestamp"/> to its proper distribution timestamp.</param>
            <returns>A floor-aligned sub-second distribution timestamp for given <paramref name="timestamp"/>.</returns>
            <remarks>
            Time resolution value is typically a power of 10 based on the number of ticks per the desired resolution. The following table defines
            common resolutions and their respective <paramref name="timeResolution"/> values:
            <list type="table">
                <listheader>
                    <term>Resolution</term>
                    <description>Time Resolution Value</description>
                </listheader>
                <item>
                    <term>Seconds</term>
                    <description><see cref="F:GSF.Ticks.PerSecond"/></description>
                </item>
                <item>
                    <term>Milliseconds</term>
                    <description><see cref="F:GSF.Ticks.PerMillisecond"/></description>
                </item>
                <item>
                    <term>Microseconds</term>
                    <description><see cref="F:GSF.Ticks.PerMicrosecond"/></description>
                </item>
                <item>
                    <term>Ticks</term>
                    <description>0</description>
                </item>
            </list>
            If source timestamps have variation, i.e., they are not aligned within common distributions, the <paramref name="timeResolution"/>
            can be adjusted to include slack to accommodate the variance. When including slack in the time resolution, the value will depend
            on the <paramref name="samplesPerSecond"/>, for example: you could use 330,000 for 30 samples per second, 160,000 for 60 samples
            per second, and 80,000 for 120 samples per second. Actual slack value may need to be more or less depending on the size of the
            source timestamp variation.
            </remarks>
        </member>
        <member name="M:GSF.Ticks.AlignToMillisecondDistribution(GSF.Ticks,System.Int32)">
            <summary>
            Returns a floor-aligned millisecond distribution timestamp for given <paramref name="timestamp"/>.
            </summary>
            <param name="timestamp">Timestamp to align.</param>
            <param name="samplesPerSecond">Samples per second to use for distribution.</param>
            <returns>A floor-aligned millisecond distribution timestamp for given <paramref name="timestamp"/>.</returns>
        </member>
        <member name="M:GSF.Ticks.AlignToMicrosecondDistribution(GSF.Ticks,System.Int32)">
            <summary>
            Returns a floor-aligned microsecond distribution timestamp for given <paramref name="timestamp"/>.
            </summary>
            <param name="timestamp">Timestamp to align.</param>
            <param name="samplesPerSecond">Samples per second to use for distribution.</param>
            <returns>A floor-aligned microsecond distribution timestamp for given <paramref name="timestamp"/>.</returns>
        </member>
        <member name="T:GSF.TimeSpanExtensions">
            <summary>
            Extends the TimeSpan Class
            </summary>
        </member>
        <member name="M:GSF.TimeSpanExtensions.ToElapsedTimeString(System.TimeSpan,System.Int32,System.Double)">
            <summary>
            Converts the <see cref="T:System.TimeSpan"/> value into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits.
            </summary>
            <param name="value">The <see cref="T:System.TimeSpan"/> to process.</param>
            <param name="secondPrecision">Number of fractional digits to display for seconds. Defaults to 2.</param>
            <param name="minimumSubSecondResolution">Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.</param>
            <remarks>Set second precision to -1 to suppress seconds display.</remarks>
            <returns>
            The string representation of the value of this <see cref="T:System.TimeSpan"/>, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <example>
              DateTime g_start = DateTime.UtcNow;
              DateTime EndTime = DateTime.UtcNow;
              TimeSpan duration = EndTime.Subtract(g_start);
              Console.WriteLine("Elapsed Time = " + duration.ToElapsedTimeString());
            </example>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="T:GSF.TypeExtensions">
            <summary>
            Extensions to all <see cref="T:System.Type"/> objects.
            </summary>
        </member>
        <member name="M:GSF.TypeExtensions.IsNumeric(System.Type)">
            <summary>
            Determines if the specified type is a native structure that represents a numeric value.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> being tested.</param>
            <returns><c>true</c> if the specified type is a native structure that represents a numeric value.</returns>
            <remarks>
            For this method a boolean value is not considered numeric even though it can be thought of as a bit.
            This expression returns <c>true</c> if the type is one of the following:<br/><br/>
                SByte, Byte, Int16, UInt16, Int24, UInt24, Int32, UInt32, Int64, UInt64, Single, Double, Decimal
            </remarks>
        </member>
        <member name="M:GSF.TypeExtensions.GetRootType(System.Type)">
            <summary>
            Gets the root type in the inheritance hierarchy from which the specified <paramref name="type"/> inherits.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> whose root type is to be found.</param>
            <returns>The root type in the inheritance hierarchy from which the specified <paramref name="type"/> inherits.</returns>
            <remarks>
            Unless input <paramref name="type"/> is <see cref="T:System.Object"/> or <see cref="T:System.MarshalByRefObject"/>, the returned type will never 
            be <see cref="T:System.Object"/> or <see cref="T:System.MarshalByRefObject"/>, even though all types ultimately inherit from either one of them.
            </remarks>
        </member>
        <member name="M:GSF.TypeExtensions.LoadImplementations(System.Type)">
            <summary>
            Loads public types from assemblies in the application binaries directory that implement the specified 
            <paramref name="type"/> either through class inheritance or interface implementation.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> that must be implemented by the public types.</param>
            <returns>Public types that implement the specified <paramref name="type"/>.</returns>
        </member>
        <member name="M:GSF.TypeExtensions.LoadImplementations(System.Type,System.Boolean)">
            <summary>
            Loads public types from assemblies in the application binaries directory that implement the specified 
            <paramref name="type"/> either through class inheritance or interface implementation.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> that must be implemented by the public types.</param>
            <param name="excludeAbstractTypes">true to exclude public types that are abstract; otherwise false.</param>
            <returns>Public types that implement the specified <paramref name="type"/>.</returns>
        </member>
        <member name="M:GSF.TypeExtensions.LoadImplementations(System.Type,System.String)">
            <summary>
            Loads public types from assemblies in the specified <paramref name="binariesDirectory"/> that implement 
            the specified <paramref name="type"/> either through class inheritance or interface implementation.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> that must be implemented by the public types.</param>
            <param name="binariesDirectory">The directory containing the assemblies to be processed.</param>
            <returns>Public types that implement the specified <paramref name="type"/>.</returns>
        </member>
        <member name="M:GSF.TypeExtensions.LoadImplementations(System.Type,System.String,System.Boolean,System.Boolean)">
            <summary>
            Loads public types from assemblies in the specified <paramref name="binariesDirectory"/> that implement 
            the specified <paramref name="type"/> either through class inheritance or interface implementation.
            </summary>
            <param name="type">The <see cref="T:System.Type"/> that must be implemented by the public types.</param>
            <param name="binariesDirectory">The directory containing the assemblies to be processed.</param>
            <param name="excludeAbstractTypes">true to exclude public types that are abstract; otherwise false.</param>
            <param name="validateReferences">True to validate references of loaded assemblies before attempting to instantiate types; false otherwise.</param>
            <returns>Public types that implement the specified <paramref name="type"/>.</returns>
        </member>
        <member name="T:GSF.UInt24">
            <summary>Represents a 3-byte, 24-bit unsigned integer.</summary>
            <remarks>
            <para>
            This class behaves like most other intrinsic unsigned integers but allows a 3-byte, 24-bit integer implementation
            that is often found in many digital-signal processing arenas and different kinds of protocol parsing.  An unsigned
            24-bit integer is typically used to save storage space on disk where its value range of 0 to 16777215 is sufficient,
            but the unsigned Int16 value range of 0 to 65535 is too small.
            </para>
            <para>
            This structure uses an UInt32 internally for storage and most other common expected integer functionality, so using
            a 24-bit integer will not save memory.  However, if the 24-bit unsigned integer range (0 to 16777215) suits your
            data needs you can save disk space by only storing the three bytes that this integer actually consumes.  You can do
            this by calling the UInt24.GetBytes function to return a three byte binary array that can be serialized to the desired
            destination and then calling the UInt24.GetValue function to restore the UInt24 value from those three bytes.
            </para>
            <para>
            All the standard operators for the UInt24 have been fully defined for use with both UInt24 and UInt32 unsigned integers;
            you should find that without the exception UInt24 can be compared and numerically calculated with an UInt24 or UInt32.
            Necessary casting should be minimal and typical use should be very simple - just as if you are using any other native
            unsigned integer.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.UInt24.BitMask">
            <summary>High byte bit-mask used when a 24-bit integer is stored within a 32-bit integer. This field is constant.</summary>
        </member>
        <member name="M:GSF.UInt24.#ctor(GSF.UInt24)">
            <summary>Creates 24-bit unsigned integer from an existing 24-bit unsigned integer.</summary>
            <param name="value">A <see cref="T:GSF.UInt24"/> to create the new value from. </param>
        </member>
        <member name="M:GSF.UInt24.#ctor(System.UInt32)">
            <summary>Creates 24-bit unsigned integer from a 32-bit unsigned integer.</summary>
            <param name="value">32-bit unsigned integer to use as new 24-bit unsigned integer value.</param>
            <exception cref="T:System.OverflowException">Source values over 24-bit max range will cause an overflow exception.</exception>
        </member>
        <member name="M:GSF.UInt24.#ctor(System.Byte[],System.Int32)">
            <summary>Creates 24-bit unsigned integer from three bytes at a specified position in a byte array.</summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within <paramref name="value"/>.</param>
            <remarks>
            <para>You can use this constructor in-lieu of a System.BitConverter.ToUInt24 function.</para>
            <para>Bytes endian order assumed to match that of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> is greater than <paramref name="value"/> length.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> length from <paramref name="startIndex"/> is too small to represent a <see cref="T:GSF.UInt24"/>.</exception>
        </member>
        <member name="M:GSF.UInt24.GetBytes">
            <summary>Returns the UInt24 value as an array of three bytes.</summary>
            <returns>An array of bytes with length 3.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.GetBytes function.</para>
            <para>Bytes will be returned in endian order of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
        </member>
        <member name="M:GSF.UInt24.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not an UInt32 or UInt24.</exception>
        </member>
        <member name="M:GSF.UInt24.CompareTo(GSF.UInt24)">
            <summary>
            Compares this instance to a specified 24-bit unsigned integer and returns an indication of their
            relative values.
            </summary>
            <param name="value">An integer to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.UInt24.CompareTo(System.UInt32)">
            <summary>
            Compares this instance to a specified 32-bit unsigned integer and returns an indication of their
            relative values.
            </summary>
            <param name="value">An integer to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.UInt24.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of UInt32 or UInt24 and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.UInt24.Equals(GSF.UInt24)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified UInt24 value.
            </summary>
            <param name="obj">An UInt24 value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.UInt24.Equals(System.UInt32)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified uint value.
            </summary>
            <param name="obj">An UInt32 value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.UInt24.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit unsigned integer hash code.
            </returns>
        </member>
        <member name="M:GSF.UInt24.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.UInt24.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.UInt24.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.UInt24.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.UInt24.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its 24-bit unsigned integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A 24-bit unsigned integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than UInt24.MinValue or greater than UInt24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.UInt24.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its 24-bit unsigned integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <returns>
            A 24-bit unsigned integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than UInt24.MinValue or greater than UInt24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.UInt24.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its 24-bit
            unsigned integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A 24-bit unsigned integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than UInt24.MinValue or greater than UInt24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.UInt24.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its 24-bit
            unsigned integer equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A 24-bit unsigned integer equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than UInt24.MinValue or greater than UInt24.MaxValue.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.UInt24.TryParse(System.String,GSF.UInt24@)">
            <summary>
            Converts the string representation of a number to its 24-bit unsigned integer equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the 24-bit unsigned integer value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than UInt24.MinValue or greater than UInt24.MaxValue.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.UInt24.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.UInt24@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            24-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            A typical value to specify is System.Globalization.NumberStyles.Integer.
            </param>
            <param name="result">
            When this method returns, contains the 24-bit unsigned integer value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than UInt24.MinValue or greater than
            UInt24.MaxValue. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.UInt24.GetTypeCode">
            <summary>
            Returns the System.TypeCode for value type System.UInt32 (there is no defined type code for an UInt24).
            </summary>
            <returns>The enumerated constant, System.TypeCode.UInt32.</returns>
            <remarks>
            There is no defined UInt24 type code and since an UInt24 will easily fit inside an UInt32, the
            UInt32 type code is returned.
            </remarks>
        </member>
        <member name="M:GSF.UInt24.op_Equality(GSF.UInt24,GSF.UInt24)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Equality(System.UInt32,GSF.UInt24)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Equality(GSF.UInt24,System.UInt32)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Inequality(GSF.UInt24,GSF.UInt24)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Inequality(System.UInt32,GSF.UInt24)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Inequality(GSF.UInt24,System.UInt32)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThan(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThan(System.UInt32,GSF.UInt24)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThan(GSF.UInt24,System.UInt32)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThanOrEqual(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThanOrEqual(System.UInt32,GSF.UInt24)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LessThanOrEqual(GSF.UInt24,System.UInt32)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThan(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThan(System.UInt32,GSF.UInt24)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThan(GSF.UInt24,System.UInt32)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThanOrEqual(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThanOrEqual(System.UInt32,GSF.UInt24)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_GreaterThanOrEqual(GSF.UInt24,System.UInt32)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Boolean"/> value representing the result.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.Enum)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Enum"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.String)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.String"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.Decimal)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Decimal"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.Double)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Double"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.Single)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Single"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.UInt64)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt64"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(System.UInt32)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt32"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(GSF.Int24)~GSF.UInt24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.Int24"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(GSF.UInt24)~GSF.Int24">
            <summary>
            Explicitly converts value to an <see cref="T:GSF.Int24"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:GSF.Int24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(GSF.UInt24)~System.Int16">
            <summary>
            Explicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Int16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Int16"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(GSF.UInt24)~System.UInt16">
            <summary>
            Explicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.UInt16"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.UInt16"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Explicit(GSF.UInt24)~System.Byte">
            <summary>
            Explicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Byte"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Byte"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(System.Byte)~GSF.UInt24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Byte"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(System.Char)~GSF.UInt24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.Char"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(System.UInt16)~GSF.UInt24">
            <summary>
            Implicitly converts value to an <see cref="T:GSF.UInt24"/>.
            </summary>
            <param name="value"><see cref="T:System.UInt16"/> value to be converted.</param>
            <returns><see cref="T:GSF.UInt24"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.Int32">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Int32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Int32"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.UInt32">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.UInt32"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.UInt32"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.Int64">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Int64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Int64"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.UInt64">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.UInt64"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.UInt64"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Double"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Double"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.Single">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Single"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Single"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.Decimal">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.Decimal"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.Decimal"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Implicit(GSF.UInt24)~System.String">
            <summary>
            Implicitly converts <see cref="T:GSF.UInt24"/> to <see cref="T:System.String"/>.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to be converted.</param>
            <returns><see cref="T:System.String"/> value that is the result of the conversion.</returns>
        </member>
        <member name="M:GSF.UInt24.op_True(GSF.UInt24)">
            <summary>
            Returns true if value is greater than zero.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to evaluate.</param>
            <returns><see cref="T:System.Boolean"/> value indicating whether the value is greater than zero.</returns>
        </member>
        <member name="M:GSF.UInt24.op_False(GSF.UInt24)">
            <summary>
            Returns true if value is equal to zero.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to evaluate.</param>
            <returns><see cref="T:System.Boolean"/> value indicating whether the value is equal than zero.</returns>
        </member>
        <member name="M:GSF.UInt24.op_OnesComplement(GSF.UInt24)">
            <summary>
            Returns bitwise complement of value.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to evaluate.</param>
            <returns><see cref="T:GSF.UInt24"/> value representing the complement of the input value.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseAnd(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value representing the logical bitwise AND of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseAnd(System.UInt32,GSF.UInt24)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise AND of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseAnd(GSF.UInt24,System.UInt32)">
            <summary>
            Returns logical bitwise AND of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise AND of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseOr(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value representing the logical bitwise OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseOr(System.UInt32,GSF.UInt24)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_BitwiseOr(GSF.UInt24,System.UInt32)">
            <summary>
            Returns logical bitwise OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_ExclusiveOr(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value representing the logical bitwise exclusive-OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_ExclusiveOr(System.UInt32,GSF.UInt24)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise exclusive-OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_ExclusiveOr(GSF.UInt24,System.UInt32)">
            <summary>
            Returns logical bitwise exclusive-OR of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value representing the logical bitwise exclusive-OR of the values.</returns>
        </member>
        <member name="M:GSF.UInt24.op_RightShift(GSF.UInt24,System.Int32)">
            <summary>
            Returns value after right shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to right shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> value indicating the number of bits to right shift by.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of right shift operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_LeftShift(GSF.UInt24,System.Int32)">
            <summary>
            Returns value after left shifts of first value by the number of bits specified by second value.
            </summary>
            <param name="value"><see cref="T:GSF.UInt24"/> value to left shift.</param>
            <param name="shifts"><see cref="T:System.Int32"/> value indicating the number of bits to left shift by.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of left shift operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Modulus(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of modulus operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Modulus(System.UInt32,GSF.UInt24)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of modulus operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Modulus(GSF.UInt24,System.UInt32)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of modulus operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Addition(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of addition operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Addition(System.UInt32,GSF.UInt24)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of addition operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Addition(GSF.UInt24,System.UInt32)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of addition operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Subtraction(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of subtraction operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Subtraction(System.UInt32,GSF.UInt24)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of subtraction operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Subtraction(GSF.UInt24,System.UInt32)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of subtraction operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Increment(GSF.UInt24)">
            <summary>
            Returns incremented value.
            </summary>
            <param name="value">The operand.</param>
            <returns><see cref="T:GSF.UInt24"/> result of increment.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Decrement(GSF.UInt24)">
            <summary>
            Returns decremented value.
            </summary>
            <param name="value">The operand.</param>
            <returns><see cref="T:GSF.UInt24"/> result of decrement.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Multiply(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of multiplication operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Multiply(System.UInt32,GSF.UInt24)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of multiplication operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Multiply(GSF.UInt24,System.UInt32)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of multiplication operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Division(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:GSF.UInt24"/> value as result of division operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Division(System.UInt32,GSF.UInt24)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of division operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Division(GSF.UInt24,System.UInt32)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.UInt32"/> value as result of division operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Exponent(GSF.UInt24,GSF.UInt24)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Double"/> value as result of operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Exponent(System.Int32,GSF.UInt24)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1"><see cref="T:System.UInt32"/> left hand operand.</param>
            <param name="value2"><see cref="T:GSF.UInt24"/> right hand operand.</param>
            <returns><see cref="T:System.Double"/> value as result of operation.</returns>
        </member>
        <member name="M:GSF.UInt24.op_Exponent(GSF.UInt24,System.Int32)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1"><see cref="T:GSF.UInt24"/> left hand operand.</param>
            <param name="value2"><see cref="T:System.UInt32"/> right hand operand.</param>
            <returns><see cref="T:System.Double"/> value as result of operation.</returns>
        </member>
        <member name="F:GSF.UInt24.MaxValue">
            <summary>
            Represents the largest possible value of an Int24. This field is constant.
            </summary>
        </member>
        <member name="F:GSF.UInt24.MinValue">
            <summary>
            Represents the smallest possible value of an Int24. This field is constant.
            </summary>
        </member>
        <member name="M:GSF.UInt24.GetBytes(GSF.UInt24)">
            <summary>Returns the specified UInt24 value as an array of three bytes.</summary>
            <param name="value">UInt24 value to convert to bytes.</param>
            <returns>An array of bytes with length 3.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.GetBytes(UInt24) function.</para>
            <para>Bytes will be returned in endian order of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
        </member>
        <member name="M:GSF.UInt24.GetValue(System.Byte[],System.Int32)">
            <summary>Returns a 24-bit unsigned integer from three bytes at a specified position in a byte array.</summary>
            <param name="value">An array of bytes.</param>
            <param name="startIndex">The starting position within value.</param>
            <returns>A 24-bit unsigned integer formed by three bytes beginning at startIndex.</returns>
            <remarks>
            <para>You can use this function in-lieu of a System.BitConverter.ToUInt24 function.</para>
            <para>Bytes endian order assumed to match that of currently executing process architecture (little-endian on Intel platforms).</para>
            </remarks>
            <exception cref="T:System.ArgumentNullException"><paramref name="value"/> cannot be null.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="startIndex"/> is greater than <paramref name="value"/> length.</exception>
            <exception cref="T:System.ArgumentException"><paramref name="value"/> length from <paramref name="startIndex"/> is too small to represent an <see cref="T:GSF.UInt24"/>.</exception>
        </member>
        <member name="T:GSF.Units.Angle">
            <summary>Represents an angle, in radians, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing an angle in radians; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other angle representations, specifically
            degrees, grads (a.k.a., grade, gradian and gon), arcminutes (a.k.a., minute of arc and MOA),
            arcseconds (a.k.a., second of arc) and angular mil (a.k.a. mil).
            <example>
            This example converts degrees to grads:
            <code>
            public double GetGrads(double degrees)
            {
                return Angle.FromDegrees(degrees).ToGrads();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Angle.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/>.
            </summary>
            <param name="value">New angle value in radians.</param>
        </member>
        <member name="M:GSF.Units.Angle.ToDegrees">
            <summary>
            Gets the <see cref="T:GSF.Units.Angle"/> value in degrees.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Angle"/> in degrees.</returns>
        </member>
        <member name="M:GSF.Units.Angle.ToGrads">
            <summary>
            Gets the <see cref="T:GSF.Units.Angle"/> value in grads.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Angle"/> in grads.</returns>
        </member>
        <member name="M:GSF.Units.Angle.ToArcMinutes">
            <summary>
            Gets the <see cref="T:GSF.Units.Angle"/> value in arcminutes.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Angle"/> in arcminutes.</returns>
        </member>
        <member name="M:GSF.Units.Angle.ToArcSeconds">
            <summary>
            Gets the <see cref="T:GSF.Units.Angle"/> value in arcseconds.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Angle"/> in arcseconds.</returns>
        </member>
        <member name="M:GSF.Units.Angle.ToAngularMil">
            <summary>
            Gets the <see cref="T:GSF.Units.Angle"/> value in angular mil.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Angle"/> in angular mil.</returns>
        </member>
        <member name="M:GSF.Units.Angle.ToRange(GSF.Units.Angle,System.Boolean)">
            <summary>
            Gets the equivalent angle moved within the range of <paramref name="minValue"/>
            and <paramref name="minValue"/> + 2.0 * <see cref="F:System.Math.PI"/>.
            </summary>
            <param name="minValue">The minimum value of the range.</param>
            <param name="inclusive">Indicates whether the range is inclusive of the minimum value.</param>
            <returns>The equivalent angle within the specified range.</returns>
        </member>
        <member name="M:GSF.Units.Angle.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Angle"/>.</exception>
        </member>
        <member name="M:GSF.Units.Angle.CompareTo(GSF.Units.Angle)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Angle"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">An <see cref="T:GSF.Units.Angle"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Angle"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.Equals(GSF.Units.Angle)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Angle"/> value.
            </summary>
            <param name="obj">An <see cref="T:GSF.Units.Angle"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Angle.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Angle"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            An <see cref="T:GSF.Units.Angle"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or greater than <see cref="F:GSF.Units.Angle.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Angle.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Angle"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Angle"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or greater than <see cref="F:GSF.Units.Angle.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Angle.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Angle"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Angle"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or greater than <see cref="F:GSF.Units.Angle.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Angle.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Angle"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Angle"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or greater than <see cref="F:GSF.Units.Angle.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Angle.TryParse(System.String,GSF.Units.Angle@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Angle"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Angle"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or greater than <see cref="F:GSF.Units.Angle.MaxValue"/>.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Angle.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Angle@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Angle"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Angle"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Angle.MinValue"/> or
            greater than <see cref="F:GSF.Units.Angle.MaxValue"/>. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Angle.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Equality(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Inequality(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_LessThan(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_LessThanOrEqual(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_GreaterThan(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_GreaterThanOrEqual(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the operation result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Implicit(System.Double)~GSF.Units.Angle">
            <summary>
            Implicitly converts value, represented in radians, to an <see cref="T:GSF.Units.Angle"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Implicit(GSF.Units.Angle)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Angle"/>, represented in radians, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">An <see cref="T:GSF.Units.Angle"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Modulus(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Addition(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Subtraction(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Multiply(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Division(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Angle"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Angle.op_Exponent(GSF.Units.Angle,GSF.Units.Angle)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Angle"/> as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Angle"/> as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> as the result.</returns>
        </member>
        <member name="F:GSF.Units.Angle.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Angle"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Angle.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Angle"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Angle.FromDegrees(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/> value from the specified <paramref name="value"/> in degrees.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Angle"/> value in degrees.</param>
            <returns>New <see cref="T:GSF.Units.Angle"/> object from the specified <paramref name="value"/> in degrees.</returns>
        </member>
        <member name="M:GSF.Units.Angle.FromGrads(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/> value from the specified <paramref name="value"/> in grads.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Angle"/> value in grads.</param>
            <returns>New <see cref="T:GSF.Units.Angle"/> object from the specified <paramref name="value"/> in grads.</returns>
        </member>
        <member name="M:GSF.Units.Angle.FromArcMinutes(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/> value from the specified <paramref name="value"/> in arcminutes.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Angle"/> value in arcminutes.</param>
            <returns>New <see cref="T:GSF.Units.Angle"/> object from the specified <paramref name="value"/> in arcminutes.</returns>
        </member>
        <member name="M:GSF.Units.Angle.FromArcSeconds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/> value from the specified <paramref name="value"/> in arcseconds.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Angle"/> value in arcseconds.</param>
            <returns>New <see cref="T:GSF.Units.Angle"/> object from the specified <paramref name="value"/> in arcseconds.</returns>
        </member>
        <member name="M:GSF.Units.Angle.FromAngularMil(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Angle"/> value from the specified <paramref name="value"/> in angular mil.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Angle"/> value in angular mil.</param>
            <returns>New <see cref="T:GSF.Units.Angle"/> object from the specified <paramref name="value"/> in angular mil.</returns>
        </member>
        <member name="T:GSF.Units.Charge">
            <summary>Represents an electric charge measurement, in coulombs (i.e., ampere-seconds), as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a charge in coulombs; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other charge representations, specifically
            ampere-hours, abcoulomb (a.k.a., an electromagnetic unit), statcoulomb (a.k.a., electrostatic unit or franklin), atomic unit of charge
            and faraday. Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert charge, in coulombs, to kilocoulombs:
            <code>
            public double GetKilocoulombs(Charge coulombs)
            {
                return coulombs / SI.Kilo;
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Charge.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/>.
            </summary>
            <param name="value">New charge value in coulombs.</param>
        </member>
        <member name="M:GSF.Units.Charge.ToAmpereHours">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in ampere-hours.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in ampere-hours.</returns>
        </member>
        <member name="M:GSF.Units.Charge.ToAbcoulombs">
            <summary>
            Gets the <see cref="T:GSF.Units.Charge"/> value in abcoulombs.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Charge"/> in abcoulombs.</returns>
        </member>
        <member name="M:GSF.Units.Charge.ToStatcoulombs">
            <summary>
            Gets the <see cref="T:GSF.Units.Charge"/> value in statcoulombs.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Charge"/> in statcoulombs.</returns>
        </member>
        <member name="M:GSF.Units.Charge.ToAtomicUnitsOfCharge">
            <summary>
            Gets the <see cref="T:GSF.Units.Charge"/> value in atomic units of charge.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Charge"/> in atomic units of charge.</returns>
        </member>
        <member name="M:GSF.Units.Charge.ToFaraday">
            <summary>
            Gets the <see cref="T:GSF.Units.Charge"/> value in faraday.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Charge"/> in faraday.</returns>
        </member>
        <member name="M:GSF.Units.Charge.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Charge"/>.</exception>
        </member>
        <member name="M:GSF.Units.Charge.CompareTo(GSF.Units.Charge)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Charge"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Charge"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Charge"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.Equals(GSF.Units.Charge)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Charge"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Charge"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Charge.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Charge"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Charge"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or greater than <see cref="F:GSF.Units.Charge.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Charge.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Charge"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Charge"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or greater than <see cref="F:GSF.Units.Charge.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Charge.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Charge"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Charge"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or greater than <see cref="F:GSF.Units.Charge.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Charge.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Charge"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Charge"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or greater than <see cref="F:GSF.Units.Charge.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Charge.TryParse(System.String,GSF.Units.Charge@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Charge"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Charge"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paracoulomb is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or greater than <see cref="F:GSF.Units.Charge.MaxValue"/>.
            This paracoulomb is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Charge.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Charge@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Charge"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Charge"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paracoulomb is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Charge.MinValue"/> or
            greater than <see cref="F:GSF.Units.Charge.MaxValue"/>. This paracoulomb is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Charge.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Equality(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Inequality(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_LessThan(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_LessThanOrEqual(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_GreaterThan(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_GreaterThanOrEqual(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Implicit(System.Double)~GSF.Units.Charge">
            <summary>
            Implicitly converts value, represented in coulombs, to a <see cref="T:GSF.Units.Charge"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Implicit(GSF.Units.Charge)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Charge"/>, represented in coulombs, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Charge"/> value.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Modulus(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Addition(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Subtraction(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Multiply(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Division(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Charge"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Charge.op_Exponent(GSF.Units.Charge,GSF.Units.Charge)">
            <summary>
            Returns result of first value raised to charge of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Charge"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Charge"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> as the result.</returns>
        </member>
        <member name="F:GSF.Units.Charge.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Charge"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Charge.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Charge"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Charge.FromAmpereHours(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/> value from the specified <paramref name="value"/> in ampere-hours.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Charge"/> value in ampere-hours.</param>
            <returns>New <see cref="T:GSF.Units.Charge"/> object from the specified <paramref name="value"/> in ampere-hours.</returns>
        </member>
        <member name="M:GSF.Units.Charge.FromAbcoulombs(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/> value from the specified <paramref name="value"/> in abcoulombs.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Charge"/> value in abcoulombs.</param>
            <returns>New <see cref="T:GSF.Units.Charge"/> object from the specified <paramref name="value"/> in abcoulombs.</returns>
        </member>
        <member name="M:GSF.Units.Charge.FromStatcoulombs(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/> value from the specified <paramref name="value"/> in statcoulombs.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Charge"/> value in statcoulombs.</param>
            <returns>New <see cref="T:GSF.Units.Charge"/> object from the specified <paramref name="value"/> in statcoulombs.</returns>
        </member>
        <member name="M:GSF.Units.Charge.FromAtomicUnitsOfCharge(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/> value from the specified <paramref name="value"/> in atomic units of charge.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Charge"/> value in atomic units of charge.</param>
            <returns>New <see cref="T:GSF.Units.Charge"/> object from the specified <paramref name="value"/> in atomic units of charge.</returns>
        </member>
        <member name="M:GSF.Units.Charge.FromFaraday(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Charge"/> value from the specified <paramref name="value"/> in faraday.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Charge"/> value in faraday.</param>
            <returns>New <see cref="T:GSF.Units.Charge"/> object from the specified <paramref name="value"/> in faraday.</returns>
        </member>
        <member name="T:GSF.Units.Current">
            <summary>Represents an electric current measurement, in amperes, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a current in amperes; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other current representations, specifically
            abampere (a.k.a., an electromagnetic unit) and statampere (a.k.a., esu per second). Metric conversions are handled
            simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert current, in amperes, to kiloamperes:
            <code>
            public double GetKiloamperes(Current amperes)
            {
                return amperes / SI.Kilo;
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Current.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Current"/>.
            </summary>
            <param name="value">New current value in amperes.</param>
        </member>
        <member name="M:GSF.Units.Current.ToAbamperes">
            <summary>
            Gets the <see cref="T:GSF.Units.Current"/> value in abamperes.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Current"/> in abamperes.</returns>
        </member>
        <member name="M:GSF.Units.Current.ToStatamperes">
            <summary>
            Gets the <see cref="T:GSF.Units.Current"/> value in statamperes.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Current"/> in statamperes.</returns>
        </member>
        <member name="M:GSF.Units.Current.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Current"/>.</exception>
        </member>
        <member name="M:GSF.Units.Current.CompareTo(GSF.Units.Current)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Current"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Current"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Current"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.Equals(GSF.Units.Current)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Current"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Current"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Current.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Current"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Current"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or greater than <see cref="F:GSF.Units.Current.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Current.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Current"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Current"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or greater than <see cref="F:GSF.Units.Current.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Current.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Current"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Current"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or greater than <see cref="F:GSF.Units.Current.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Current.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Current"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Current"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or greater than <see cref="F:GSF.Units.Current.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Current.TryParse(System.String,GSF.Units.Current@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Current"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Current"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or greater than <see cref="F:GSF.Units.Current.MaxValue"/>.
            This paraampere is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Current.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Current@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Current"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Current"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Current.MinValue"/> or
            greater than <see cref="F:GSF.Units.Current.MaxValue"/>. This paraampere is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Current.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Equality(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Inequality(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_LessThan(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_LessThanOrEqual(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_GreaterThan(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_GreaterThanOrEqual(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Implicit(System.Double)~GSF.Units.Current">
            <summary>
            Implicitly converts value, represented in amperes, to a <see cref="T:GSF.Units.Current"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Implicit(GSF.Units.Current)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Current"/>, represented in amperes, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Current"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Modulus(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Addition(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Subtraction(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Multiply(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Division(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Current"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Current.op_Exponent(GSF.Units.Current,GSF.Units.Current)">
            <summary>
            Returns result of first value raised to current of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Current"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Current"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Current.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Current"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Current.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Current"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Current.FromAbamperes(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Current"/> value from the specified <paramref name="value"/> in abamperes.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Current"/> value in abamperes.</param>
            <returns>New <see cref="T:GSF.Units.Current"/> object from the specified <paramref name="value"/> in abamperes.</returns>
        </member>
        <member name="M:GSF.Units.Current.FromStatamperes(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Current"/> value from the specified <paramref name="value"/> in statamperes.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Current"/> value in statamperes.</param>
            <returns>New <see cref="T:GSF.Units.Current"/> object from the specified <paramref name="value"/> in statamperes.</returns>
        </member>
        <member name="T:GSF.Units.EE.LineFrequency">
            <summary>
            Nominal line frequencies enumeration.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.LineFrequency.Hz50">
            <summary>
            50Hz nominal frequency.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.LineFrequency.Hz60">
            <summary>
            60Hz nominal frequency.
            </summary>
        </member>
        <member name="T:GSF.Units.EE.NamespaceDoc">
            <summary>
            Contains classes that represent standard Electrical Engineering units and types.
            </summary>
        </member>
        <member name="T:GSF.Units.EE.Phasor">
            <summary>
            Represents a phasor as a complex number value and a type (i.e., a voltage or a current).
            </summary>
        </member>
        <member name="F:GSF.Units.EE.Phasor.Type">
            <summary>
            Phasor type.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.Phasor.Value">
            <summary>
            Phasor value.
            </summary>
        </member>
        <member name="M:GSF.Units.EE.Phasor.#ctor(GSF.Units.EE.PhasorType,System.Double,System.Double)">
            <summary>
            Creates a <see cref="T:GSF.Units.EE.Phasor"/> of the specified <paramref name="type"/> from the given rectangular values. 
            </summary>
            <param name="type">Type of phasor, i.e., current or voltage.</param>
            <param name="real">The real component of the <see cref="T:GSF.ComplexNumber"/>.</param>
            <param name="imaginary">The imaginary component of the <see cref="T:GSF.ComplexNumber"/>.</param>
        </member>
        <member name="M:GSF.Units.EE.Phasor.#ctor(GSF.Units.EE.PhasorType,GSF.Units.Angle,System.Double)">
            <summary>
            Creates a <see cref="T:GSF.Units.EE.Phasor"/> of the specified <paramref name="type"/> from the given polar values.
            </summary>
            <param name="type">Type of phasor, i.e., current or voltage.</param>
            <param name="angle">The <see cref="T:GSF.Units.Angle"/> component, in radians, of the <see cref="T:GSF.ComplexNumber"/>.</param>
            <param name="magnitude">The magnitude (or absolute value) component of the <see cref="T:GSF.ComplexNumber"/>.</param>
        </member>
        <member name="M:GSF.Units.EE.Phasor.#ctor(GSF.Units.EE.PhasorType,GSF.ComplexNumber)">
            <summary>
            Creates a <see cref="T:GSF.Units.EE.Phasor"/> of the specified <paramref name="type"/> from the given <see cref="T:GSF.ComplexNumber"/>.
            </summary>
            <param name="type">Type of phasor, i.e., current or voltage.</param>
            <param name="z"><see cref="T:GSF.ComplexNumber"/> to be copied.</param>
        </member>
        <member name="M:GSF.Units.EE.Phasor.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if <paramref name="obj"/> is an instance of Phasor and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.Equals(GSF.Units.EE.Phasor)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified Phasor value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.EE.Phasor"/> to compare to this instance.</param>
            <returns>
            True if <paramref name="obj"/> has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this <see cref="T:GSF.ComplexNumber"/> instance.
            </returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Implicit(GSF.Units.EE.Phasor)~GSF.ComplexNumber">
            <summary>
            Implicitly converts a <see cref="T:GSF.Units.EE.Phasor"/> to a <see cref="T:GSF.ComplexNumber"/>.
            </summary>
            <param name="phasor">Operand.</param>
            <returns>ComplexNumber representing the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Equality(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>Boolean representing the result of the addition operation.</returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Inequality(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>Boolean representing the result of the inequality operation.</returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_UnaryNegation(GSF.Units.EE.Phasor)">
            <summary>
            Returns the negated value.
            </summary>
            <param name="z">Left hand operand.</param>
            <returns>Phasor representing the result of the unary negation operation.</returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Addition(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the addition operation.</returns>
            <remarks>Resultant phasor will have <see cref="F:GSF.Units.EE.Phasor.Type"/> of left hand operand, <paramref name="phasor1"/>.</remarks>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Subtraction(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the subtraction operation.</returns>
            <remarks>Resultant phasor will have <see cref="F:GSF.Units.EE.Phasor.Type"/> of left hand operand, <paramref name="phasor1"/>.</remarks>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Multiply(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the multiplication operation.</returns>
            <remarks>Resultant phasor will have <see cref="F:GSF.Units.EE.Phasor.Type"/> of left hand operand, <paramref name="phasor1"/>.</remarks>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Division(GSF.Units.EE.Phasor,GSF.Units.EE.Phasor)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="phasor1">Left hand operand.</param>
            <param name="phasor2">Right hand operand.</param>
            <returns>ComplexNumber representing the result of the division operation.</returns>
            <remarks>Resultant phasor will have <see cref="F:GSF.Units.EE.Phasor.Type"/> of left hand operand, <paramref name="phasor1"/>.</remarks>
        </member>
        <member name="M:GSF.Units.EE.Phasor.Pow(GSF.Units.EE.Phasor,System.Double)">
            <summary>
             Returns specified <see cref="T:GSF.Units.EE.Phasor"/> raised to the specified power.
            </summary>
            <param name="z">Phasor to be raised to power <paramref name="y"/>.</param>
            <param name="y">Power to raise <see cref="T:GSF.Units.EE.Phasor"/> <paramref name="z"/>.</param>
             <returns>Phasor representing the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.EE.Phasor.op_Exponent(GSF.Units.EE.Phasor,System.Double)">
             <summary>
             Returns result of first value raised to power of second value.
             </summary>
            <param name="z">Phasor to be raised to power <paramref name="y"/>.</param>
            <param name="y">Power to raise <see cref="T:GSF.Units.EE.Phasor"/> <paramref name="z"/>.</param>
             <returns>Phasor representing the result of the operation.</returns>
        </member>
        <member name="T:GSF.Units.EE.PhasorType">
            <summary>
            Phasor types enumeration.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.PhasorType.Voltage">
            <summary>
            Voltage phasor.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.PhasorType.Current">
            <summary>
            Current phasor.
            </summary>
        </member>
        <member name="T:GSF.Units.EE.SignalKind">
            <summary>
            Fundamental signal type enumeration for common EE measurements that represents a kind of signal, not an explicit type.
            </summary>
            <remarks>
            <para>
            This enumeration represents the basic type of a signal used to suffix a formatted signal
            reference. When used in context along with an optional index the fundamental signal type
            will identify a signal's location within a frame of data (see <see cref="T:GSF.Units.EE.SignalReference"/>).
            </para>
            <para>
            Contrast this to the <see cref="T:GSF.Units.EE.SignalType"/> enumeration which further defines an explicit
            type for a signal (e.g., a voltage or current type for an angle).
            </para>
            </remarks>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Angle">
            <summary>
            Phase angle.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Magnitude">
            <summary>
            Phase magnitude.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Frequency">
            <summary>
            Line frequency.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.DfDt">
            <summary>
            Frequency delta over time (dF/dt).
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Status">
            <summary>
            Status flags.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Digital">
            <summary>
            Digital value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Analog">
            <summary>
            Analog value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Calculation">
            <summary>
            Calculated value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Statistic">
            <summary>
            Statistical value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Alarm">
            <summary>
            Alarm value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Quality">
            <summary>
            Quality flags.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalKind.Unknown">
            <summary>
            Undetermined signal type.
            </summary>
        </member>
        <member name="T:GSF.Units.EE.SignalKindExtensions">
            <summary>
            Defines extension functions for the <see cref="T:GSF.Units.EE.SignalKind"/> enumeration.
            </summary>
        </member>
        <member name="M:GSF.Units.EE.SignalKindExtensions.GetAcronym(GSF.Units.EE.SignalKind)">
            <summary>
            Gets the acronym for the specified <see cref="T:GSF.Units.EE.SignalKind"/>.
            </summary>
            <param name="signal"><see cref="T:GSF.Units.EE.SignalKind"/> to convert to an acronym.</param>
            <returns>The acronym for the specified <see cref="T:GSF.Units.EE.SignalKind"/>.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalKindExtensions.ParseSignalKind(System.String)">
            <summary>
            Gets the <see cref="T:GSF.Units.EE.SignalKind"/> for the specified <paramref name="acronym"/>.
            </summary>
            <param name="acronym">Acronym of the desired <see cref="T:GSF.Units.EE.SignalKind"/>.</param>
            <returns>The <see cref="T:GSF.Units.EE.SignalKind"/> for the specified <paramref name="acronym"/>.</returns>
        </member>
        <member name="T:GSF.Units.EE.SignalReference">
            <summary>
            Represents a signal that can be referenced by its constituent components.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalReference.Acronym">
            <summary>
            Gets or sets the acronym of this <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalReference.Index">
            <summary>
            Gets or sets the signal index of this <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalReference.Kind">
            <summary>
            Gets or sets the <see cref="T:GSF.Units.EE.SignalKind"/> of this <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalReference.CellIndex">
            <summary>
            Gets or sets the cell index, if applicable, of this <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.#ctor(System.String)">
            <summary>
            Creates a new <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
            <param name="signal"><see cref="T:System.String"/> representation of this <see cref="T:GSF.Units.EE.SignalReference"/>.</param>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
            <returns>A <see cref="T:System.String"/> that represents the current <see cref="T:GSF.Units.EE.SignalReference"/>.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.GetHashCode">
            <summary>
            Returns the hash code for this <see cref="T:GSF.Units.EE.SignalReference"/>.
            </summary>
            <returns>A 32-bit signed integer hash code.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.Equals(System.Object)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="obj">An object to compare with this object.</param>
            <returns><c>true</c> if the current object is equal to the other parameter; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ArgumentException">Object is not a <see cref="T:GSF.Units.EE.SignalReference"/>.</exception>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.Equals(GSF.Units.EE.SignalReference)">
            <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 other parameter; otherwise, <c>false</c>.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.CompareTo(GSF.Units.EE.SignalReference)">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="other">Another <see cref="T:GSF.Units.EE.SignalReference"/> to compare with this <see cref="T:GSF.Units.EE.SignalReference"/>.</param>
            <returns>A 32-bit signed integer that indicates the relative order of the objects being compared.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.CompareTo(System.Object)">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="obj">An object to compare with this <see cref="T:GSF.Units.EE.SignalReference"/>.</param>
            <returns>A 32-bit signed integer that indicates the relative order of the objects being compared.</returns>
            <exception cref="T:System.ArgumentException">Object is not a <see cref="T:GSF.Units.EE.SignalReference"/>.</exception>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_Equality(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Compares two <see cref="T:GSF.Units.EE.SignalReference"/> values for equality.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_Inequality(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Compares two <see cref="T:GSF.Units.EE.SignalReference"/> values for inequality.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_GreaterThan(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Returns true if left <see cref="T:GSF.Units.EE.SignalReference"/> value is greater than right <see cref="T:GSF.Units.EE.SignalReference"/> value.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_GreaterThanOrEqual(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Returns true if left <see cref="T:GSF.Units.EE.SignalReference"/> value is greater than or equal to right <see cref="T:GSF.Units.EE.SignalReference"/> value.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_LessThan(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Returns true if left <see cref="T:GSF.Units.EE.SignalReference"/> value is less than right <see cref="T:GSF.Units.EE.SignalReference"/> value.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.op_LessThanOrEqual(GSF.Units.EE.SignalReference,GSF.Units.EE.SignalReference)">
            <summary>
            Returns true if left <see cref="T:GSF.Units.EE.SignalReference"/> value is less than or equal to right <see cref="T:GSF.Units.EE.SignalReference"/> value.
            </summary>
            <param name="signal1">A <see cref="T:GSF.Units.EE.SignalReference"/> left hand operand.</param>
            <param name="signal2">A <see cref="T:GSF.Units.EE.SignalReference"/> right hand operand.</param>
            <returns>A boolean representing the result.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.ToString(System.String,GSF.Units.EE.SignalKind)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the specified <paramref name="acronym"/> and <see cref="T:GSF.Units.EE.SignalKind"/>.
            </summary>
            <param name="acronym">Acronym portion of the desired <see cref="T:System.String"/> representation.</param>
            <param name="type"><see cref="T:GSF.Units.EE.SignalKind"/> portion of the desired <see cref="T:System.String"/> representation.</param>
            <returns>A <see cref="T:System.String"/> that represents the specified <paramref name="acronym"/> and <see cref="T:GSF.Units.EE.SignalKind"/>.</returns>
        </member>
        <member name="M:GSF.Units.EE.SignalReference.ToString(System.String,GSF.Units.EE.SignalKind,System.Int32)">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the specified <paramref name="acronym"/>, <see cref="T:GSF.Units.EE.SignalKind"/> and <paramref name="index"/>.
            </summary>
            <param name="acronym">Acronym portion of the desired <see cref="T:System.String"/> representation.</param>
            <param name="type"><see cref="T:GSF.Units.EE.SignalKind"/> portion of the desired <see cref="T:System.String"/> representation.</param>
            <param name="index">Index of <see cref="T:GSF.Units.EE.SignalKind"/> portion of the desired <see cref="T:System.String"/> representation.</param>
            <returns>A <see cref="T:System.String"/> that represents the specified <paramref name="acronym"/>, <see cref="T:GSF.Units.EE.SignalKind"/> and <paramref name="index"/>.</returns>
        </member>
        <member name="T:GSF.Units.EE.SignalType">
            <summary>
            Fundamental signal type enumeration for common EE measurements that represents an explicit type of signal.
            </summary>
            <remarks>
            <para>
            This enumeration represents the explicit type of a signal that a value represents.
            </para>
            <para>
            Contrast this to the <see cref="T:GSF.Units.EE.SignalKind"/> enumeration which only defines an
            abstract type for a signal (e.g., simply a phase or an angle).
            </para>
            </remarks>
        </member>
        <member name="F:GSF.Units.EE.SignalType.IPHM">
            <summary>
            Current phase magnitude.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.IPHA">
            <summary>
            Current phase angle.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.VPHM">
            <summary>
            Voltage phase magnitude.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.VPHA">
            <summary>
            Voltage phase angle.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.FREQ">
            <summary>
            Frequency.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.DFDT">
            <summary>
            Frequency delta (dF/dt).
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.ALOG">
            <summary>
            Analog value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.FLAG">
            <summary>
            Status flags.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.DIGI">
            <summary>
            Digital values.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.CALC">
            <summary>
            Calculated value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.STAT">
            <summary>
            Statistical value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.ALRM">
            <summary>
            Alarm value.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.QUAL">
            <summary>
            Quality flags.
            </summary>
        </member>
        <member name="F:GSF.Units.EE.SignalType.NONE">
            <summary>
            Undefined signal.
            </summary>
        </member>
        <member name="T:GSF.Units.EE.SignalTypeExtensions">
            <summary>
            Defines extension functions for the <see cref="T:GSF.Units.EE.SignalType"/> enumeration.
            </summary>
        </member>
        <member name="M:GSF.Units.EE.SignalTypeExtensions.GetFormattedName(GSF.Units.EE.SignalType)">
            <summary>
            Returns display friendly signal type name.
            </summary>
            <param name="signalType"><see cref="T:GSF.Units.EE.SignalType"/> to return display name for.</param>
            <returns>Friendly protocol display name for specified <paramref name="signalType"/>.</returns>
        </member>
        <member name="T:GSF.Units.Energy">
            <summary>Represents an energy measurement, in joules (i.e., watt-seconds), as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing an energy in joules; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other energy representations, specifically
            watt-hours, BTU, Celsius heat unit, liter-atmosphere, calorie, horsepower-hour, barrel of oil and ton of coal.
            Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert energy in joules to megajoules:
            <code>
            public double GetMegajoules(Energy joules)
            {
                return joules / SI.Mega;
            }
            </code>
            This example converts megajoules to kilowatt-hours:
            <code>
            public double GetKilowattHours(double megajoules)
            {
                return (new Energy(megajoules * SI.Mega)).ToWattHours() / SI.Kilo;
            }
            </code>
            This example converts kilowatt-hours to megawatt-hours:
            <code>
            public double GetMegawattHours(double kilowattHours)
            {
                return (kilowattHours * SI.Kilo) / SI.Mega;
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Energy.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/>.
            </summary>
            <param name="value">New energy value in joules.</param>
        </member>
        <member name="M:GSF.Units.Energy.ToCoulombs(GSF.Units.Voltage)">
            <summary>
            Gets the <see cref="T:GSF.Units.Charge"/> value in coulombs given the specified <paramref name="volts"/>.
            </summary>
            <param name="volts">Source <see cref="T:GSF.Units.Voltage"/> used to calculate <see cref="T:GSF.Units.Charge"/> value.</param>
            <returns><see cref="T:GSF.Units.Charge"/> value in coulombs given the specified <paramref name="volts"/>.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToWattHours">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in watt-hours.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in watt-hours.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToBTU">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in BTU (International Table).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in BTU.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToCelsiusHeatUnits">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in Celsius heat units (International Table).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in Celsius heat units.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToLitersAtmosphere">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in liters-atmosphere.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in liters-atmosphere.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToCalories">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in calories (International Table).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in calories.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToHorsepowerHours">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in horsepower-hours.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in horsepower-hours.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToBarrelsOfOil">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in equivalent barrels of oil.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in equivalent barrels of oil.</returns>
        </member>
        <member name="M:GSF.Units.Energy.ToTonsOfCoal">
            <summary>
            Gets the <see cref="T:GSF.Units.Energy"/> value in equivalent tons of coal.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Energy"/> in equivalent tons of coal.</returns>
        </member>
        <member name="M:GSF.Units.Energy.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Energy"/>.</exception>
        </member>
        <member name="M:GSF.Units.Energy.CompareTo(GSF.Units.Energy)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Energy"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">An <see cref="T:GSF.Units.Energy"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Energy"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.Equals(GSF.Units.Energy)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Energy"/> value.
            </summary>
            <param name="obj">An <see cref="T:GSF.Units.Energy"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Energy.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Energy"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            An <see cref="T:GSF.Units.Energy"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or greater than <see cref="F:GSF.Units.Energy.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Energy.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Energy"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Energy"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or greater than <see cref="F:GSF.Units.Energy.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Energy.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Energy"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Energy"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or greater than <see cref="F:GSF.Units.Energy.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Energy.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Energy"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            An <see cref="T:GSF.Units.Energy"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or greater than <see cref="F:GSF.Units.Energy.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Energy.TryParse(System.String,GSF.Units.Energy@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Energy"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Energy"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parajoule is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or greater than <see cref="F:GSF.Units.Energy.MaxValue"/>.
            This parajoule is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Energy.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Energy@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Energy"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Energy"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parajoule is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Energy.MinValue"/> or
            greater than <see cref="F:GSF.Units.Energy.MaxValue"/>. This parajoule is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Energy.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Equality(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Inequality(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_LessThan(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_LessThanOrEqual(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_GreaterThan(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_GreaterThanOrEqual(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Implicit(System.Double)~GSF.Units.Energy">
            <summary>
            Implicitly converts value, represented in joules, to an <see cref="T:GSF.Units.Energy"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Implicit(GSF.Units.Energy)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Energy"/>, represented in joules, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">An <see cref="T:GSF.Units.Energy"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Modulus(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Addition(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Subtraction(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Multiply(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Division(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>An <see cref="T:GSF.Units.Energy"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Energy.op_Exponent(GSF.Units.Energy,GSF.Units.Energy)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">An <see cref="T:GSF.Units.Energy"/> object as the left hand operand.</param>
            <param name="value2">An <see cref="T:GSF.Units.Energy"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Energy.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Energy"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Energy.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Energy"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Energy.FromWattHours(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in watt-hours.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in watt-hours.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in watt-hours.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromBTU(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in BTU (International Table).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in BTU.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in BTU.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromCelsiusHeatUnits(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in Celsius heat units (International Table).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in Celsius heat units.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in Celsius heat units.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromLitersAtmosphere(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in liters-atmosphere.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in liters-atmosphere.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in liters-atmosphere.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromCalories(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in calories (International Table).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in calories.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in calories.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromHorsepowerHours(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in horsepower-hours.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in horsepower-hours.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in horsepower-hours.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromBarrelsOfOil(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in equivalent barrels of oil.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in equivalent barrels of oil.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in equivalent barrels of oil.</returns>
        </member>
        <member name="M:GSF.Units.Energy.FromTonOfCoal(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Energy"/> value from the specified <paramref name="value"/> in equivalent tons of coal.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Energy"/> value in equivalent tons of coal.</param>
            <returns>New <see cref="T:GSF.Units.Energy"/> object from the specified <paramref name="value"/> in equivalent tons of coal.</returns>
        </member>
        <member name="T:GSF.Units.Length">
            <summary>Represents a length measurement, in meters, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a length in meters; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other length representations, specifically
            inches, feet, yards, miles, US survey feet, US survey miles, light-seconds, and nautical miles.
            Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert length in meters to kilometers:
            <code>
            public double GetKilometers(Length meters)
            {
                return meters / SI.Kilo;
            }
            </code>
            This example converts feet to inches:
            <code>
            public double GetFeet(double inches)
            {
                return Length.FromInches(inches).ToFeet();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Length.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/>.
            </summary>
            <param name="value">New length value in meters.</param>
        </member>
        <member name="M:GSF.Units.Length.ToFeet">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in feet.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in feet.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToYards">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in yards.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in yards.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToInches">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in inches.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in inches.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToMiles">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in miles.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in miles.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToLightSeconds">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in light-seconds.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in light-seconds.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToUSSurveyFeet">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in US survey feet.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in US survey feet.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToUSSurveyMiles">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in US survey miles.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in US survey miles.</returns>
        </member>
        <member name="M:GSF.Units.Length.ToNauticalMiles">
            <summary>
            Gets the <see cref="T:GSF.Units.Length"/> value in nautical miles.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Length"/> in nautical miles.</returns>
        </member>
        <member name="M:GSF.Units.Length.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Length"/>.</exception>
        </member>
        <member name="M:GSF.Units.Length.CompareTo(GSF.Units.Length)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Length"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Length"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Length"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.Equals(GSF.Units.Length)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Length"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Length"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Length.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Length"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Length"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or greater than <see cref="F:GSF.Units.Length.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Length.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Length"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Length"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or greater than <see cref="F:GSF.Units.Length.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Length.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Length"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Length"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or greater than <see cref="F:GSF.Units.Length.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Length.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Length"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Length"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or greater than <see cref="F:GSF.Units.Length.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Length.TryParse(System.String,GSF.Units.Length@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Length"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Length"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or greater than <see cref="F:GSF.Units.Length.MaxValue"/>.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Length.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Length@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Length"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Length"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Length.MinValue"/> or
            greater than <see cref="F:GSF.Units.Length.MaxValue"/>. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Length.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Equality(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Inequality(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_LessThan(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_LessThanOrEqual(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_GreaterThan(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_GreaterThanOrEqual(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Implicit(System.Double)~GSF.Units.Length">
            <summary>
            Implicitly converts value, represented in meters, to a <see cref="T:GSF.Units.Length"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Implicit(GSF.Units.Length)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Length"/>, represented in meters, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Length"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Modulus(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Addition(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Subtraction(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Multiply(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Division(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Length"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Length.op_Exponent(GSF.Units.Length,GSF.Units.Length)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Length"/> object left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Length"/> object right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result.</returns>
        </member>
        <member name="F:GSF.Units.Length.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Length"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Length.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Length"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Length.FromFeet(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in feet.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in feet.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in feet.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromYards(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in yards.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in yards.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in yards.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromInches(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in inches.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in inches.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in inches.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromMiles(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in miles.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in miles.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in miles.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromLightSeconds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in light-seconds.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in light-seconds.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in light-seconds.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromUSSurveyFeet(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in US survey feet.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in US survey feet.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in US survey feet.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromUSSurveyMiles(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in US survey miles.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in US survey miles.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in US survey miles.</returns>
        </member>
        <member name="M:GSF.Units.Length.FromNauticalMiles(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Length"/> value from the specified <paramref name="value"/> in nautical miles.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Length"/> value in nautical miles.</param>
            <returns>New <see cref="T:GSF.Units.Length"/> object from the specified <paramref name="value"/> in nautical miles.</returns>
        </member>
        <member name="T:GSF.Units.Mass">
            <summary>Represents a mass measurement, in kilograms, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a mass in kilograms; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other mass representations, specifically
            ounces, pounds and tons. Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/>
            conversion factor, for example:
            <example>
            Convert mass, in kilograms, to grams:
            <code>
            public double GetGrams(Mass kilograms)
            {
                return kilograms * SI.Kilo;
            }
            </code>
            This example converts tons to pounds:
            <code>
            public double GetPounds(double tons)
            {
                return Mass.FromTons(tons).ToPounds();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Mass.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/>.
            </summary>
            <param name="value">New mass value in kilograms.</param>
        </member>
        <member name="M:GSF.Units.Mass.ToOunces">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in ounces (avoirdupois).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in ounces.</returns>
        </member>
        <member name="M:GSF.Units.Mass.ToPounds">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in pounds (avoirdupois).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in pounds.</returns>
        </member>
        <member name="M:GSF.Units.Mass.ToMetricPounds">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in metric pounds.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in metric pounds.</returns>
        </member>
        <member name="M:GSF.Units.Mass.ToTons">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in short tons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in short tons.</returns>
        </member>
        <member name="M:GSF.Units.Mass.ToMetricTons">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in metric tons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in metric tons.</returns>
        </member>
        <member name="M:GSF.Units.Mass.ToLongTons">
            <summary>
            Gets the <see cref="T:GSF.Units.Mass"/> value in long tons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Mass"/> in long tons.</returns>
        </member>
        <member name="M:GSF.Units.Mass.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Mass"/>.</exception>
        </member>
        <member name="M:GSF.Units.Mass.CompareTo(GSF.Units.Mass)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Mass"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Mass"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Mass"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.Equals(GSF.Units.Mass)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Mass"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Mass"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Mass.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Mass"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Mass"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or greater than <see cref="F:GSF.Units.Mass.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Mass.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Mass"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Mass"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or greater than <see cref="F:GSF.Units.Mass.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Mass.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Mass"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Mass"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or greater than <see cref="F:GSF.Units.Mass.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Mass.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Mass"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Mass"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or greater than <see cref="F:GSF.Units.Mass.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Mass.TryParse(System.String,GSF.Units.Mass@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Mass"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Mass"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or greater than <see cref="F:GSF.Units.Mass.MaxValue"/>.
            This paraampere is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Mass.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Mass@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Mass"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Mass"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Mass.MinValue"/> or
            greater than <see cref="F:GSF.Units.Mass.MaxValue"/>. This paraampere is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Mass.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Equality(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Inequality(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_LessThan(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_LessThanOrEqual(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_GreaterThan(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_GreaterThanOrEqual(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Implicit(System.Double)~GSF.Units.Mass">
            <summary>
            Implicitly converts value, represented in kilograms, to a <see cref="T:GSF.Units.Mass"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Implicit(GSF.Units.Mass)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Mass"/>, represented in kilograms, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Mass"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Modulus(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Addition(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Subtraction(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Multiply(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Division(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Mass"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Mass.op_Exponent(GSF.Units.Mass,GSF.Units.Mass)">
            <summary>
            Returns result of first value raised to mass of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Mass"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Mass"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Mass.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Mass"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Mass.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Mass"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Mass.FromOunces(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in ounces (avoirdupois).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in ounces.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in ounces.</returns>
        </member>
        <member name="M:GSF.Units.Mass.FromPounds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in pounds (avoirdupois).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in pounds.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in pounds.</returns>
        </member>
        <member name="M:GSF.Units.Mass.FromMetricPounds(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in metric pounds.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in metric pounds.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in metric pounds.</returns>
        </member>
        <member name="M:GSF.Units.Mass.FromTons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in short tons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in short tons.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in short tons.</returns>
        </member>
        <member name="M:GSF.Units.Mass.FromMetricTons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in metric tons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in metric tons.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in metric tons.</returns>
        </member>
        <member name="M:GSF.Units.Mass.FromLongTons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Mass"/> value from the specified <paramref name="value"/> in long tons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Mass"/> value in long tons.</param>
            <returns>New <see cref="T:GSF.Units.Mass"/> object from the specified <paramref name="value"/> in long tons.</returns>
        </member>
        <member name="T:GSF.Units.NamespaceDoc">
            <summary>
            Contains classes used to simplify and standardize standard unit and SI conversions.
            </summary>
        </member>
        <member name="T:GSF.Units.Power">
            <summary>Represents a power measurement, in watts, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a power in watts; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other power representations, specifically
            horsepower, metric horsepower, boiler horsepower, BTU per second, calorie per second, and liter-atmosphere
            per second. Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor,
            for example:
            <example>
            Convert power in watts to megawatts:
            <code>
            public double GetMegawatts(Power watts)
            {
                return watts / SI.Mega;
            }
            </code>
            This example converts megawatts to mechanical horsepower:
            <code>
            public double GetHorsepower(double megawatts)
            {
                return (new Power(megawatts * SI.Mega)).ToHorsepower();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Power.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/>.
            </summary>
            <param name="value">New power value in watts.</param>
        </member>
        <member name="M:GSF.Units.Power.ToHorsepower">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in mechanical horsepower (Imperial).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in mechanical horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.ToMetricHorsepower">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in metric horsepower.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in metric horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.ToBoilerHorsepower">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in boiler horsepower.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in boiler horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.ToBTUPerSecond">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in BTU (International Table) per second.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in BTU per second.</returns>
        </member>
        <member name="M:GSF.Units.Power.ToCaloriesPerSecond">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in calories (International Table) per second.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in calories per second.</returns>
        </member>
        <member name="M:GSF.Units.Power.ToLitersAtmospherePerSecond">
            <summary>
            Gets the <see cref="T:GSF.Units.Power"/> value in liters-atmosphere per second.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Power"/> in liters-atmosphere per second.</returns>
        </member>
        <member name="M:GSF.Units.Power.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Power"/>.</exception>
        </member>
        <member name="M:GSF.Units.Power.CompareTo(GSF.Units.Power)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Power"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Power"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Power"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.Equals(GSF.Units.Power)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Power"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Power"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Power.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Power"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Power"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or greater than <see cref="F:GSF.Units.Power.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Power.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Power"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Power"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or greater than <see cref="F:GSF.Units.Power.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Power.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Power"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Power"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or greater than <see cref="F:GSF.Units.Power.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Power.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Power"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Power"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or greater than <see cref="F:GSF.Units.Power.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Power.TryParse(System.String,GSF.Units.Power@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Power"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Power"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parawatt is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or greater than <see cref="F:GSF.Units.Power.MaxValue"/>.
            This parawatt is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Power.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Power@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Power"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Power"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parawatt is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Power.MinValue"/> or
            greater than <see cref="F:GSF.Units.Power.MaxValue"/>. This parawatt is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Power.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Equality(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Inequality(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_LessThan(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_LessThanOrEqual(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_GreaterThan(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_GreaterThanOrEqual(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Implicit(System.Double)~GSF.Units.Power">
            <summary>
            Implicitly converts value, represented in watts, to a <see cref="T:GSF.Units.Power"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Implicit(GSF.Units.Power)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Power"/>, represented in watts, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Power"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Modulus(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Addition(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Subtraction(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Multiply(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Division(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Power"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Power.op_Exponent(GSF.Units.Power,GSF.Units.Power)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Power"/> left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Power"/> right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Power.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Power"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Power.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Power"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Power.FromHorsepower(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in mechanical horsepower (Imperial).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in mechanical horsepower.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in mechanical horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.FromMetricHorsepower(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in metric horsepower.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in metric horsepower.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in metric horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.FromBoilerHorsepower(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in boiler horsepower.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in boiler horsepower.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in boiler horsepower.</returns>
        </member>
        <member name="M:GSF.Units.Power.FromBTUPerSecond(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in BTU (International Table) per second.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in BTU per second.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in BTU per second.</returns>
        </member>
        <member name="M:GSF.Units.Power.FromCaloriesPerSecond(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in calories (International Table) per second.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in calories per second.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in calories per second.</returns>
        </member>
        <member name="M:GSF.Units.Power.FromLitersAtmospherePerSecond(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Power"/> value from the specified <paramref name="value"/> in liters-atmosphere per second.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Power"/> value in liters-atmosphere per second.</param>
            <returns>New <see cref="T:GSF.Units.Power"/> object from the specified <paramref name="value"/> in liters-atmosphere per second.</returns>
        </member>
        <member name="T:GSF.Units.SI">
            <summary>
            Defines constant factors for SI units of measure to handle metric conversions.
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Yotta">
            <summary>
            SI prefix Y, 10^24
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Zetta">
            <summary>
            SI prefix Z, 10^21
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Exa">
            <summary>
            SI prefix E, 10^18
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Peta">
            <summary>
            SI prefix P, 10^15
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Tera">
            <summary>
            SI prefix T, 10^12
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Giga">
            <summary>
            SI prefix G, 10^9
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Mega">
            <summary>
            SI prefix M, 10^6
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Kilo">
            <summary>
            SI prefix k, 10^3
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Hecto">
            <summary>
            SI prefix h, 10^2
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Deca">
            <summary>
            SI prefix da, 10^1
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Deci">
            <summary>
            SI prefix d, 10^-1
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Centi">
            <summary>
            SI prefix c, 10^-2
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Milli">
            <summary>
            SI prefix m, 10^-3
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Micro">
            <summary>
            SI prefix µ, 10^-6
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Nano">
            <summary>
            SI prefix n, 10^-9
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Pico">
            <summary>
            SI prefix p, 10^-12
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Femto">
            <summary>
            SI prefix f, 10^-15
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Atto">
            <summary>
            SI prefix a, 10^-18
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Zepto">
            <summary>
            SI prefix z, 10^-21
            </summary>
        </member>
        <member name="F:GSF.Units.SI.Yocto">
            <summary>
            SI prefix y, 10^-24
            </summary>
        </member>
        <member name="M:GSF.Units.SI.ToScaledString(System.Double,System.String,System.String[],System.Double,System.Double)">
            <summary>
            Turns the given number of units into a textual representation with an appropriate unit scaling.
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="unitName">Name of unit display (e.g., you could use "m/h" for meters per hour).</param>
            <param name="symbolNames">Optional SI factor symbol or name array to use during textual conversion, defaults to <see cref="P:GSF.Units.SI.Symbols"/>.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yocto"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yotta"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>), see <see cref="P:GSF.Units.SI.Names"/> or <see cref="P:GSF.Units.SI.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI.ToScaledString(System.Double,System.String,System.String,System.Double,System.Double)">
            <summary>
            Turns the given number of units into a textual representation with an appropriate unit scaling.
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="format">A numeric string format for scaled <paramref name="totalUnits"/>.</param>
            <param name="unitName">Name of unit display (e.g., you could use "m/h" for meters per hour).</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yocto"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yotta"/>.</param>
            <remarks>
            <see cref="P:GSF.Units.SI.Symbols"/> array is used for displaying SI symbol prefix for <paramref name="unitName"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI.ToScaledString(System.Double,System.Int32,System.String,System.String[],System.Double,System.Double)">
            <summary>
            Turns the given number of units into a textual representation with an appropriate unit scaling.
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="decimalPlaces">Number of decimal places to display.</param>
            <param name="unitName">Name of unit display (e.g., you could use "m/h" for meters per hour).</param>
            <param name="symbolNames">Optional SI factor symbol or name array to use during textual conversion, defaults to <see cref="P:GSF.Units.SI.Symbols"/>.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yocto"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yotta"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>), see <see cref="P:GSF.Units.SI.Names"/> or <see cref="P:GSF.Units.SI.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="decimalPlaces"/> cannot be negative.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI.ToScaledString(System.Double,System.String,System.String,System.String[],System.Int32,System.Double,System.Double)">
            <summary>
            Turns the given number of units into a textual representation with an appropriate unit scaling
            given string array of factor names or symbols.
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="format">A numeric string format for scaled <paramref name="totalUnits"/>.</param>
            <param name="unitName">Name of unit display (e.g., you could use "m/h" for meters per hour).</param>
            <param name="symbolNames">SI factor symbol or name array to use during textual conversion.</param>
            <param name="decimalPlaces">Optional number of decimal places to display.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yocto"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI.Yotta"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>), see <see cref="P:GSF.Units.SI.Names"/> or <see cref="P:GSF.Units.SI.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.</exception>
        </member>
        <member name="P:GSF.Units.SI.Names">
            <summary>
            Gets an array of all the defined unit factor SI names ordered from least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI.Symbols">
            <summary>
            Gets an array of all the defined unit factor SI prefix symbols ordered from least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI.Factors">
            <summary>
            Gets an array of all the defined SI unit factors ordered from least (<see cref="F:GSF.Units.SI.Yocto"/>) to greatest (<see cref="F:GSF.Units.SI.Yotta"/>).
            </summary>
        </member>
        <member name="T:GSF.Units.SI2">
            <summary>
            Defines constant factors based on 1024 for related binary SI units of measure used in computational measurements.
            </summary>
            <remarks>
            See <a href="http://physics.nist.gov/cuu/Units/binary.html">NIST Reference</a> for information on IEC standard names.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Exa">
            <summary>
            1 exa, binary (E) = 1,152,921,504,606,846,976
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Exbi">
            <summary>
            1 exbi (Ei) = 1,152,921,504,606,846,976
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Peta">
            <summary>
            1 peta, binary (P) = 1,125,899,906,842,624
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Pebi">
            <summary>
            1 pebi (Pi) = 1,125,899,906,842,624
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Tera">
            <summary>
            1 tera, binary (T) = 1,099,511,627,776
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Tebi">
            <summary>
            1 tebi (Ti) = 1,099,511,627,776
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Giga">
            <summary>
            1 giga, binary (G) = 1,073,741,824
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Gibi">
            <summary>
            1 gibi (Gi) = 1,073,741,824
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Mega">
            <summary>
            1 mega, binary (M) = 1,048,576
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Mebi">
            <summary>
            1 mebi (Mi) = 1,048,576
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Kilo">
            <summary>
            1 kilo, binary (K) = 1,024
            </summary>
            <remarks>
            This is the common name.
            </remarks>
        </member>
        <member name="F:GSF.Units.SI2.Kibi">
            <summary>
            1 kibi (Ki) = 1,024
            </summary>
            <remarks>
            This is the IEC standard name.
            </remarks>
        </member>
        <member name="M:GSF.Units.SI2.ToScaledString(System.Int64,System.String,System.String[],System.Int64,System.Int64)">
            <summary>
            Turns the given number of units (e.g., bytes) into a textual representation with an appropriate unit scaling
            and common named representation (e.g., KB, MB, GB, TB, etc.).
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="unitName">Name of unit display (e.g., you could use "B" for bytes).</param>
            <param name="symbolNames">Optional SI factor symbol or name array to use during textual conversion, defaults to <see cref="P:GSF.Units.SI2.Symbols"/>.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Kilo"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Exa"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>), see <see cref="P:GSF.Units.SI2.Names"/> or <see cref="P:GSF.Units.SI2.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI2.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI2.ToScaledString(System.Int64,System.String,System.String,System.Int64,System.Int64)">
            <summary>
            Turns the given number of units (e.g., bytes) into a textual representation with an appropriate unit scaling
            and common named representation (e.g., KB, MB, GB, TB, etc.).
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="format">A numeric string format for scaled <paramref name="totalUnits"/>.</param>
            <param name="unitName">Name of unit display (e.g., you could use "B" for bytes).</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Kilo"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Exa"/>.</param>
            <remarks>
            <see cref="P:GSF.Units.SI2.Symbols"/> array is used for displaying SI symbol prefix for <paramref name="unitName"/>.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI2.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI2.ToScaledString(System.Int64,System.Int32,System.String,System.String[],System.Int64,System.Int64)">
            <summary>
            Turns the given number of units (e.g., bytes) into a textual representation with an appropriate unit scaling
            and common named representation (e.g., KB, MB, GB, TB, etc.).
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="decimalPlaces">Number of decimal places to display.</param>
            <param name="unitName">Name of unit display (e.g., you could use "B" for bytes).</param>
            <param name="symbolNames">Optional SI factor symbol or name array to use during textual conversion, defaults to <see cref="P:GSF.Units.SI2.Symbols"/>.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Kilo"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Exa"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>), see <see cref="P:GSF.Units.SI2.Names"/> or <see cref="P:GSF.Units.SI2.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="decimalPlaces"/> cannot be negative.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI2.Factors"/> array.</exception>
        </member>
        <member name="M:GSF.Units.SI2.ToScaledString(System.Int64,System.String,System.String,System.String[],System.Int32,System.Int64,System.Int64)">
            <summary>
            Turns the given number of units (e.g., bytes) into a textual representation with an appropriate unit scaling
            given string array of factor names or symbols.
            </summary>
            <param name="totalUnits">Total units to represent textually.</param>
            <param name="format">A numeric string format for scaled <paramref name="totalUnits"/>.</param>
            <param name="unitName">Name of unit display (e.g., you could use "B" for bytes).</param>
            <param name="symbolNames">SI factor symbol or name array to use during textual conversion.</param>
            <param name="decimalPlaces">Optional number of decimal places to display.</param>
            <param name="minimumFactor">Optional minimum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Kilo"/>.</param>
            <param name="maximumFactor">Optional maximum SI factor. Defaults to <see cref="F:GSF.Units.SI2.Exa"/>.</param>
            <remarks>
            The <paramref name="symbolNames"/> array needs one string entry for each defined SI item ordered from
            least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>), see <see cref="P:GSF.Units.SI2.Names"/> or <see cref="P:GSF.Units.SI2.Symbols"/>
            arrays for examples.
            </remarks>
            <returns>A <see cref="T:System.String"/> representation of the number of units.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException"><paramref name="minimumFactor"/> or <paramref name="maximumFactor"/> is not defined in <see cref="P:GSF.Units.SI2.Factors"/> array.</exception>
        </member>
        <member name="P:GSF.Units.SI2.Names">
            <summary>
            Gets an array of all the defined common binary unit factor SI names ordered from least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI2.Symbols">
            <summary>
            Gets an array of all the defined common binary unit factor SI prefix symbols ordered from least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI2.IECNames">
            <summary>
            Gets an array of all the defined IEC binary unit factor SI names ordered from least (<see cref="F:GSF.Units.SI2.Kibi"/>) to greatest (<see cref="F:GSF.Units.SI2.Exbi"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI2.IECSymbols">
            <summary>
            Gets an array of all the defined IEC binary unit factor SI prefix symbols ordered from least (<see cref="F:GSF.Units.SI2.Kibi"/>) to greatest (<see cref="F:GSF.Units.SI2.Exbi"/>).
            </summary>
        </member>
        <member name="P:GSF.Units.SI2.Factors">
            <summary>
            Gets an array of all the defined binary SI unit factors ordered from least (<see cref="F:GSF.Units.SI2.Kilo"/>) to greatest (<see cref="F:GSF.Units.SI2.Exa"/>).
            </summary>
        </member>
        <member name="T:GSF.Units.Speed">
            <summary>Represents a speed measurement, in meters per second, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a speed in meters per second; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other speed representations, specifically
            miles per hour, kilometers per hour, feet per minute, inches per second, knots and mach.
            <example>
            This example converts mph to km/h:
            <code>
            public double GetKilometersPerHour(double milesPerHour)
            {
                return Speed.FromMilesPerHour(milesPerHour).ToKilometersPerHour();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Speed.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/>.
            </summary>
            <param name="value">New speed value in meters per second.</param>
        </member>
        <member name="M:GSF.Units.Speed.ToMilesPerHour">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in miles per hour.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in miles per hour.</returns>
        </member>
        <member name="M:GSF.Units.Speed.ToKilometersPerHour">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in kilometers per hour.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in kilometers per hour.</returns>
        </member>
        <member name="M:GSF.Units.Speed.ToFeetPerMinute">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in feet per minute.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in feet per minute.</returns>
        </member>
        <member name="M:GSF.Units.Speed.ToInchesPerSecond">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in inches per second.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in inches per second.</returns>
        </member>
        <member name="M:GSF.Units.Speed.ToKnots">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in knots (International).
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in knots.</returns>
        </member>
        <member name="M:GSF.Units.Speed.ToMach">
            <summary>
            Gets the <see cref="T:GSF.Units.Speed"/> value in mach.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Speed"/> in mach.</returns>
        </member>
        <member name="M:GSF.Units.Speed.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Speed"/>.</exception>
        </member>
        <member name="M:GSF.Units.Speed.CompareTo(GSF.Units.Speed)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Speed"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Speed"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Speed"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.Equals(GSF.Units.Speed)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Speed"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Speed"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Speed.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Speed"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Speed"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or greater than <see cref="F:GSF.Units.Speed.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Speed.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Speed"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Speed"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or greater than <see cref="F:GSF.Units.Speed.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Speed.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Speed"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Speed"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or greater than <see cref="F:GSF.Units.Speed.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Speed.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Speed"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Speed"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or greater than <see cref="F:GSF.Units.Speed.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Speed.TryParse(System.String,GSF.Units.Speed@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Speed"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Speed"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter per second is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or greater than <see cref="F:GSF.Units.Speed.MaxValue"/>.
            This parameter per second is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Speed.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Speed@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Speed"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Speed"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter per second is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Speed.MinValue"/> or
            greater than <see cref="F:GSF.Units.Speed.MaxValue"/>. This parameter per second is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Speed.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Equality(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Inequality(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_LessThan(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_LessThanOrEqual(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_GreaterThan(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_GreaterThanOrEqual(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Implicit(System.Double)~GSF.Units.Speed">
            <summary>
            Implicitly converts value, represented in meters per second, to a <see cref="T:GSF.Units.Speed"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Implicit(GSF.Units.Speed)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Speed"/>, represented in meters per second, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Speed"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Modulus(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Addition(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Subtraction(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Multiply(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Division(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Speed"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Speed.op_Exponent(GSF.Units.Speed,GSF.Units.Speed)">
            <summary>
            Returns result of first value raised to speed of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Speed"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Speed"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result.</returns>
        </member>
        <member name="F:GSF.Units.Speed.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Speed"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Speed.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Speed"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Speed.FromMilesPerHour(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in miles per hour.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in miles per hour.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in miles per hour.</returns>
        </member>
        <member name="M:GSF.Units.Speed.FromKilometersPerHour(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in kilometers per hour.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in kilometers per hour.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in kilometers per hour.</returns>
        </member>
        <member name="M:GSF.Units.Speed.FromFeetPerMinute(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in feet per minute.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in feet per minute.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in feet per minute.</returns>
        </member>
        <member name="M:GSF.Units.Speed.FromInchesPerSecond(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in inches per second.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in inches per second.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in inches per second.</returns>
        </member>
        <member name="M:GSF.Units.Speed.FromKnots(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in knots (International).
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in knots.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in knots.</returns>
        </member>
        <member name="M:GSF.Units.Speed.FromMach(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Speed"/> value from the specified <paramref name="value"/> in mach.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Speed"/> value in mach.</param>
            <returns>New <see cref="T:GSF.Units.Speed"/> object from the specified <paramref name="value"/> in mach.</returns>
        </member>
        <member name="T:GSF.Units.Temperature">
            <summary>Represents a temperature, in kelvin, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a temperature in kelvin; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other temperature representations, specifically
            Celsius, Fahrenheit, Newton, Rankine, Delisle, Réaumur and Rømer.
            <example>
            This example converts Celsius to Fahrenheit:
            <code>
            public double GetFahrenheit(double celsius)
            {
                return Temperature.FromCelsius(celsius).ToFahrenheit();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Temperature.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/>.
            </summary>
            <param name="value">New temperature value in kelvin.</param>
        </member>
        <member name="M:GSF.Units.Temperature.ToCelsius">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Celsius.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Celsius.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToFahrenheit">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Fahrenheit.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Fahrenheit.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToNewton">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Newton.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Newton.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToRankine">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Rankine.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Rankine.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToDelisle">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Delisle.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Delisle.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToRéaumur">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Réaumur.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Réaumur.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToRømer">
            <summary>
            Gets the <see cref="T:GSF.Units.Temperature"/> value in Rømer.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Temperature"/> in Rømer.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Temperature"/>.</exception>
        </member>
        <member name="M:GSF.Units.Temperature.CompareTo(GSF.Units.Temperature)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Temperature"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Temperature"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Temperature"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.Equals(GSF.Units.Temperature)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Temperature"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Temperature"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Temperature.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Temperature"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Temperature"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Temperature.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Temperature"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Temperature"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Temperature.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Temperature"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Temperature"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Temperature.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Temperature"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Temperature"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Temperature.TryParse(System.String,GSF.Units.Temperature@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Temperature"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Temperature"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Temperature@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Temperature"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Temperature"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Temperature.MinValue"/> or
            greater than <see cref="F:GSF.Units.Temperature.MaxValue"/>. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Temperature.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Equality(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Inequality(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_LessThan(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_LessThanOrEqual(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_GreaterThan(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_GreaterThanOrEqual(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Implicit(System.Double)~GSF.Units.Temperature">
            <summary>
            Implicitly converts value, represented in kelvin, to a <see cref="T:GSF.Units.Temperature"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Implicit(GSF.Units.Temperature)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Temperature"/>, represented in kelvin, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Temperature"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Modulus(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Addition(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Subtraction(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Multiply(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Division(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Temperature"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.op_Exponent(GSF.Units.Temperature,GSF.Units.Temperature)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Temperature"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Temperature"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Temperature.MaxValue">
            <summary>Represents the largest possible value of a <see cref="T:GSF.Units.Temperature"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Temperature.MinValue">
            <summary>Represents the smallest possible value of a <see cref="T:GSF.Units.Temperature"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Temperature.FromCelsius(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Celsius.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Celsius.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Celsius.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromFahrenheit(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Fahrenheit.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Fahrenheit.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Fahrenheit.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromNewton(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Newton.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Newton.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Newton.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromRankine(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Rankine.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Rankine.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Rankine.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromDelisle(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Delisle.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Delisle.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Delisle.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromRéaumur(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Réaumur.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Réaumur.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Réaumur.</returns>
        </member>
        <member name="M:GSF.Units.Temperature.FromRømer(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Temperature"/> value from the specified <paramref name="value"/> in Rømer.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Temperature"/> value in Rømer.</param>
            <returns>New <see cref="T:GSF.Units.Temperature"/> object from the specified <paramref name="value"/> in Rømer.</returns>
        </member>
        <member name="T:GSF.Units.Time">
            <summary>Represents a time measurement, in seconds, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a time in seconds; it is implicitly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other time representations, specifically
            minutes, hours, days, weeks, atomic units of time, Planck time and ke. Metric conversions are handled
            simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert time in nanoseconds to seconds:
            <code>
            public Time GetSeconds(double nanoseconds)
            {
                return nanoseconds * SI.Nano;
            }
            </code>
            Convert time in seconds to milliseconds:
            <code>
            public double GetMilliseconds(Time seconds)
            {
                return time / SI.Milli;
            }
            </code>
            This example converts minutes to hours:
            <code>
            public double GetHours(double minutes)
            {
                return Time.FromMinutes(minutes).ToHours();
            }
            </code>
            </example>
            <para>
            Note that the <see cref="M:GSF.Units.Time.ToString"/> method will convert the <see cref="T:GSF.Units.Time"/> value, in seconds,
            into a textual representation of years, days, hours, minutes and seconds using the static function
            <see cref="M:GSF.Units.Time.ToElapsedTimeString(System.Double,System.Int32,System.String[],System.Double)"/>.
            </para>
            </remarks>
        </member>
        <member name="F:GSF.Units.Time.SecondsPerTick">
            <summary>
            Fractional number of seconds in one tick.
            </summary>
        </member>
        <member name="F:GSF.Units.Time.SecondsPerMinute">
            <summary>
            Number of seconds in one minute.
            </summary>
        </member>
        <member name="F:GSF.Units.Time.SecondsPerHour">
            <summary>
            Number of seconds in one hour.
            </summary>
        </member>
        <member name="F:GSF.Units.Time.SecondsPerDay">
            <summary>
            Number of seconds in one day.
            </summary>
        </member>
        <member name="F:GSF.Units.Time.SecondsPerWeek">
            <summary>
            Number of seconds in one week.
            </summary>
        </member>
        <member name="M:GSF.Units.Time.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/>.
            </summary>
            <param name="value">New time value in seconds.</param>
        </member>
        <member name="M:GSF.Units.Time.#ctor(System.TimeSpan)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/>.
            </summary>
            <param name="value">New time value as a <see cref="T:System.TimeSpan"/>.</param>
        </member>
        <member name="M:GSF.Units.Time.ToAtomicUnitsOfTime">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in atomic units of time.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in atomic units of time.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToPlanckTime">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in Planck time.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in Planck time.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToKe">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in ke, the traditional Chinese unit of decimal time.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in ke.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToMinutes">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in minutes.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in minutes.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToHours">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in hours.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in hours.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToDays">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in days.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in days.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToWeeks">
            <summary>
            Gets the <see cref="T:GSF.Units.Time"/> value in weeks.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Time"/> in weeks.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToTicks">
            <summary>
            Converts the <see cref="T:GSF.Units.Time"/> value, in seconds, to 100-nanosecond tick intervals.
            </summary>
            <returns>A <see cref="T:GSF.Ticks"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Time.ToString">
            <summary>
            Converts the <see cref="T:GSF.Units.Time"/> value into a textual representation of years, days, hours,
            minutes and seconds.
            </summary>
            <remarks>
            Note that this ToString overload will not display fractional seconds. To allow display of
            fractional seconds, or completely remove second resolution from the textual representation,
            use the <see cref="M:GSF.Units.Time.ToString(System.Int32,System.Double)"/> overload instead.
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.ToString(System.Int32,System.Double)">
            <summary>
            Converts the <see cref="T:GSF.Units.Time"/> value into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits.
            </summary>
            <param name="secondPrecision">Number of fractional digits to display for seconds.</param>
            <param name="minimumSubSecondResolution">
            Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.
            </param>
            <remarks>Set second precision to -1 to suppress seconds display.</remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="M:GSF.Units.Time.ToString(System.Int32,System.String[],System.Double)">
            <summary>
            Converts the <see cref="T:GSF.Units.Time"/> value into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits given string array of
            time names.
            </summary>
            <param name="secondPrecision">Number of fractional digits to display for seconds.</param>
            <param name="timeNames">Time names array to use during textual conversion.</param>
            <param name="minimumSubSecondResolution">
            Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.
            </param>
            <remarks>
            <para>Set second precision to -1 to suppress seconds display.</para>
            <para>
            <paramref name="timeNames"/> array needs one string entry for each of the following names:<br/>
            " year", " years", " day", " days", " hour", " hours", " minute", " minutes", " second", " seconds", "less than ".
            </para>
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="M:GSF.Units.Time.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Time"/>.</exception>
        </member>
        <member name="M:GSF.Units.Time.CompareTo(GSF.Units.Time)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Time"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Time"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.CompareTo(System.TimeSpan)">
            <summary>
            Compares this instance to a specified <see cref="T:System.TimeSpan"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.TimeSpan"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">An <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Time"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.Equals(GSF.Units.Time)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Time"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Time"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.Equals(System.TimeSpan)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.TimeSpan"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.TimeSpan"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">An <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <remarks>
            Note that this ToString overload matches <see cref="M:System.Double.ToString(System.String)"/>, use
            <see cref="M:GSF.Units.Time.ToString(System.Int32,System.Double)"/> to convert <see cref="T:GSF.Units.Time"/> value into a textual
            representation of years, days, hours, minutes and seconds.
            </remarks>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <remarks>
            Note that this ToString overload matches <see cref="M:System.Double.ToString(System.IFormatProvider)"/>, use
            <see cref="M:GSF.Units.Time.ToString(System.Int32,System.Double)"/> to convert <see cref="T:GSF.Units.Time"/> value into a textual
            representation of years, days, hours, minutes and seconds.
            </remarks>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <remarks>
            Note that this ToString overload matches <see cref="M:System.Double.ToString(System.String,System.IFormatProvider)"/>, use
            <see cref="M:GSF.Units.Time.ToString(System.Int32,System.Double)"/> to convert <see cref="T:GSF.Units.Time"/> value into a textual representation
            of years, days, hours, minutes and seconds.
            </remarks>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Time.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Time"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Time"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or greater than <see cref="F:GSF.Units.Time.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Time.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Time"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Time"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or greater than <see cref="F:GSF.Units.Time.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Time.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Time"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Time"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or greater than <see cref="F:GSF.Units.Time.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Time.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Time"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Time"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or greater than <see cref="F:GSF.Units.Time.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Time.TryParse(System.String,GSF.Units.Time@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Time"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Time"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or greater than <see cref="F:GSF.Units.Time.MaxValue"/>.
            This parameter is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Time.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Time@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Time"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Time"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Time.MinValue"/> or
            greater than <see cref="F:GSF.Units.Time.MaxValue"/>. This parameter is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Time.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Equality(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Inequality(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_LessThan(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_LessThanOrEqual(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_GreaterThan(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_GreaterThanOrEqual(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Implicit(System.Double)~GSF.Units.Time">
            <summary>
            Implicitly converts value, represented in seconds, to a <see cref="T:GSF.Units.Time"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Implicit(System.TimeSpan)~GSF.Units.Time">
            <summary>
            Implicitly converts value, represented as a <see cref="T:System.TimeSpan"/>, to a <see cref="T:GSF.Units.Time"/>.
            </summary>
            <param name="value">A <see cref="T:System.TimeSpan"/> object.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Implicit(GSF.Units.Time)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Time"/>, represented in seconds, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Time"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Implicit(GSF.Units.Time)~System.TimeSpan">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Time"/>, represented in seconds, to a <see cref="T:System.TimeSpan"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Time"/> object.</param>
            <returns>A <see cref="T:System.TimeSpan"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Modulus(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Addition(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Subtraction(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Multiply(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Division(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Time"/> object as the result of the operation.</returns>
        </member>
        <member name="M:GSF.Units.Time.op_Exponent(GSF.Units.Time,GSF.Units.Time)">
            <summary>
            Returns result of first value raised to power of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Time"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Time"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result of the operation.</returns>
        </member>
        <member name="F:GSF.Units.Time.MaxValue">
            <summary>Represents the largest possible value of a <see cref="T:GSF.Units.Time"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Time.MinValue">
            <summary>Represents the smallest possible value of a <see cref="T:GSF.Units.Time"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Time.TimeNames">
            <summary>
            Standard time names used by <see cref="M:GSF.Units.Time.ToElapsedTimeString(System.Double,System.Int32,System.String[],System.Double)"/> method.
            </summary>
        </member>
        <member name="M:GSF.Units.Time.FromAtomicUnitsOfTime(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in atomic units of time.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in atomic units of time.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in atomic units of time.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromPlanckTime(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in Planck time.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in Planck time.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in Planck time.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromKe(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in ke,
            the traditional Chinese unit of decimal time.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in ke.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in ke.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromMinutes(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in minutes.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in minutes.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in minutes.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromHours(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in hours.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in hours.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in hours.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromDays(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in days.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in days.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in days.</returns>
        </member>
        <member name="M:GSF.Units.Time.FromWeeks(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Time"/> value from the specified <paramref name="value"/> in weeks.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Time"/> value in weeks.</param>
            <returns>New <see cref="T:GSF.Units.Time"/> object from the specified <paramref name="value"/> in weeks.</returns>
        </member>
        <member name="M:GSF.Units.Time.SecondsPerMonth(System.Int32,System.Int32)">
            <summary>
            Returns the number of seconds in the specified month and year.
            </summary>
            <param name="year">The year.</param>
            <param name="month">The month (a number ranging from 1 to 12).</param>
            <returns>
            The number of seconds, as a <see cref="T:GSF.Units.Time"/>, in the month for the specified year.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            Month is less than 1 or greater than 12. -or- year is less than 1 or greater than 9999.
            </exception>
        </member>
        <member name="M:GSF.Units.Time.SecondsPerYear(System.Int32)">
            <summary>
            Returns the number of seconds in the specified year.
            </summary>
            <param name="year">The year.</param>
            <returns>
            The number of seconds in the specified year.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            Year is less than 1 or greater than 9999.
            </exception>
        </member>
        <member name="M:GSF.Units.Time.ToElapsedTimeString(System.Double,System.Int32,System.String[],System.Double)">
            <summary>
            Converts total <paramref name="seconds"/> into a textual representation of years, days, hours,
            minutes and seconds with the specified number of fractional digits given string array of
            time names.
            </summary>
            <param name="seconds">Seconds to convert to elapsed time.</param>
            <param name="secondPrecision">Number of fractional digits to display for seconds.</param>
            <param name="timeNames">Time names array to use during textual conversion.</param>
            <param name="minimumSubSecondResolution">
            Minimum sub-second resolution to display. Defaults to <see cref="F:GSF.Units.SI.Milli"/>.
            </param>
            <remarks>
            <para>
            Set <paramref name="secondPrecision"/> to -1 to suppress seconds display, this will
            force minimum resolution of time display to minutes.
            </para>
            <para>
            <paramref name="timeNames"/> array needs one string entry for each of the following names:<br/>
            " year", " years", " day", " days", " hour", " hours", " minute", " minutes", " second", " seconds", "less than ".
            </para>
            </remarks>
            <returns>
            The string representation of the value of this instance, consisting of the number of
            years, days, hours, minutes and seconds represented by this value.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="minimumSubSecondResolution"/> is not less than or equal to <see cref="F:GSF.Units.SI.Milli"/> or
            <paramref name="minimumSubSecondResolution"/> is not defined in <see cref="P:GSF.Units.SI.Factors"/> array.
            </exception>
        </member>
        <member name="T:GSF.Units.Voltage">
            <summary>Represents an electromotive force (i.e., voltage) measurement, in volts, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a voltage in volts; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other voltage representations, specifically
            abvolt and statvolt. Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/>
            conversion factor, for example:
            <example>
            Convert volts to megavolts:
            <code>
            public double GetMegavolts(Voltage volts)
            {
                return volts / SI.Mega;
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Voltage.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Voltage"/>.
            </summary>
            <param name="value">New voltage value in volts.</param>
        </member>
        <member name="M:GSF.Units.Voltage.ToAbvolts">
            <summary>
            Gets the <see cref="T:GSF.Units.Voltage"/> value in abvolts.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Voltage"/> in abvolts.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.ToStatvolts">
            <summary>
            Gets the <see cref="T:GSF.Units.Voltage"/> value in statvolts.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Voltage"/> in statvolts.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Voltage"/>.</exception>
        </member>
        <member name="M:GSF.Units.Voltage.CompareTo(GSF.Units.Voltage)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Voltage"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Voltage"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Voltage"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.Equals(GSF.Units.Voltage)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Voltage"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Voltage"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Voltage.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Voltage"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Voltage"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Voltage.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Voltage"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Voltage"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Voltage.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Voltage"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Voltage"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Voltage.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Voltage"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Voltage"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Voltage.TryParse(System.String,GSF.Units.Voltage@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Voltage"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Voltage"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paravolt is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>.
            This paravolt is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Voltage@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Voltage"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Voltage"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paravolt is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Voltage.MinValue"/> or
            greater than <see cref="F:GSF.Units.Voltage.MaxValue"/>. This paravolt is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Voltage.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Equality(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Inequality(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_LessThan(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_LessThanOrEqual(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_GreaterThan(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_GreaterThanOrEqual(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Implicit(System.Double)~GSF.Units.Voltage">
            <summary>
            Implicitly converts value, represented in volts, to a <see cref="T:GSF.Units.Voltage"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Implicit(GSF.Units.Voltage)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Voltage"/>, represented in volts, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Voltage"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Modulus(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Addition(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Subtraction(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Multiply(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Division(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Voltage"/> as the result.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.op_Exponent(GSF.Units.Voltage,GSF.Units.Voltage)">
            <summary>
            Returns result of first value raised to voltage of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Voltage"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Voltage"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result.</returns>
        </member>
        <member name="F:GSF.Units.Voltage.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Voltage"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Voltage.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Voltage"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Voltage.FromAbvolts(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Voltage"/> value from the specified <paramref name="value"/> in abvolts.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Voltage"/> value in abvolts.</param>
            <returns>New <see cref="T:GSF.Units.Voltage"/> object from the specified <paramref name="value"/> in abvolts.</returns>
        </member>
        <member name="M:GSF.Units.Voltage.FromStatvolts(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Voltage"/> value from the specified <paramref name="value"/> in statvolts.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Voltage"/> value in statvolts.</param>
            <returns>New <see cref="T:GSF.Units.Voltage"/> object from the specified <paramref name="value"/> in statvolts.</returns>
        </member>
        <member name="T:GSF.Units.Volume">
            <summary>Represents a volume measurement, in cubic meters, as a double-precision floating-point number.</summary>
            <remarks>
            This class behaves just like a <see cref="T:System.Double"/> representing a volume in cubic meters; it is implictly
            castable to and from a <see cref="T:System.Double"/> and therefore can be generally used "as" a double, but it
            has the advantage of handling conversions to and from other volume representations, specifically
            liters, teaspoons, tablespoons, cubic inches, fluid ounces, cups, pints, quarts, gallons and cubic feet.
            Metric conversions are handled simply by applying the needed <see cref="T:GSF.Units.SI"/> conversion factor, for example:
            <example>
            Convert volume, in cubic meters, to cubic kilometers:
            <code>
            public double GetCubicKilometers(Volume cubicmeters)
            {
                return cubicmeters / SI.Kilo;
            }
            </code>
            This example converts teaspoons to cups:
            <code>
            public double GetCups(double teaspoons)
            {
                return Volume.FromTeaspoons(teaspoons).ToCups();
            }
            </code>
            This example converts liters to fluid ounces:
            <code>
            public double GetFluidOunces(double liters)
            {
                return Volume.FromLiters(liters).ToFluidOunces();
            }
            </code>
            </example>
            </remarks>
        </member>
        <member name="M:GSF.Units.Volume.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/>.
            </summary>
            <param name="value">New volume value in cubic meters.</param>
        </member>
        <member name="M:GSF.Units.Volume.ToLiters">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in liters.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in liters.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToTeaspoons">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US teaspoons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US teaspoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToMetricTeaspoons">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in metric teaspoons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in metric teaspoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToTablespoons">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US tablespoons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US tablespoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToMetricTablespoons">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in metric tablespoons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in metric tablespoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToCups">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US cups.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US cups.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToMetricCups">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in metric cups.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in metric cups.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToFluidOunces">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US fluid ounces.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US fluid ounces.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToPints">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US fluid pints.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US fluid pints.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToQuarts">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US fluid quarts.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US fluid quarts.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToGallons">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in US fluid gallons.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in US fluid gallons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToCubicInches">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in cubic inches.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in cubic inches.</returns>
        </member>
        <member name="M:GSF.Units.Volume.ToCubicFeet">
            <summary>
            Gets the <see cref="T:GSF.Units.Volume"/> value in cubic feet.
            </summary>
            <returns>Value of <see cref="T:GSF.Units.Volume"/> in cubic feet.</returns>
        </member>
        <member name="M:GSF.Units.Volume.CompareTo(System.Object)">
            <summary>
            Compares this instance to a specified object and returns an indication of their relative values.
            </summary>
            <param name="value">An object to compare, or null.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
            <exception cref="T:System.ArgumentException">value is not a <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Volume"/>.</exception>
        </member>
        <member name="M:GSF.Units.Volume.CompareTo(GSF.Units.Volume)">
            <summary>
            Compares this instance to a specified <see cref="T:GSF.Units.Volume"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Volume"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.CompareTo(System.Double)">
            <summary>
            Compares this instance to a specified <see cref="T:System.Double"/> and returns an indication of their
            relative values.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> to compare.</param>
            <returns>
            A signed number indicating the relative values of this instance and value. Returns less than zero
            if this instance is less than value, zero if this instance is equal to value, or greater than zero
            if this instance is greater than value.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.Equals(System.Object)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified object.
            </summary>
            <param name="obj">An object to compare, or null.</param>
            <returns>
            True if obj is an instance of <see cref="T:System.Double"/> or <see cref="T:GSF.Units.Volume"/> and equals the value of this instance;
            otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.Equals(GSF.Units.Volume)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:GSF.Units.Volume"/> value.
            </summary>
            <param name="obj">A <see cref="T:GSF.Units.Volume"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.Equals(System.Double)">
            <summary>
            Returns a value indicating whether this instance is equal to a specified <see cref="T:System.Double"/> value.
            </summary>
            <param name="obj">A <see cref="T:System.Double"/> value to compare to this instance.</param>
            <returns>
            True if obj has the same value as this instance; otherwise, False.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer hash code.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.ToString">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation.
            </summary>
            <returns>
            The string representation of the value of this instance, consisting of a minus sign if
            the value is negative, and a sequence of digits ranging from 0 to 9 with no leading zeroes.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.ToString(System.String)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation, using
            the specified format.
            </summary>
            <param name="format">A format string.</param>
            <returns>
            The string representation of the value of this instance as specified by format.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.ToString(System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified culture-specific format information.
            </summary>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.ToString(System.String,System.IFormatProvider)">
            <summary>
            Converts the numeric value of this instance to its equivalent string representation using the
            specified format and culture-specific format information.
            </summary>
            <param name="format">A format specification.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.
            </param>
            <returns>
            The string representation of the value of this instance as specified by format and provider.
            </returns>
        </member>
        <member name="M:GSF.Units.Volume.Parse(System.String)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Volume"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <returns>
            A <see cref="T:GSF.Units.Volume"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or greater than <see cref="F:GSF.Units.Volume.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Volume.Parse(System.String,System.Globalization.NumberStyles)">
            <summary>
            Converts the string representation of a number in a specified style to its <see cref="T:GSF.Units.Volume"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Volume"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or greater than <see cref="F:GSF.Units.Volume.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Volume.Parse(System.String,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified culture-specific format to its <see cref="T:GSF.Units.Volume"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Volume"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or greater than <see cref="F:GSF.Units.Volume.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in the correct format.</exception>
        </member>
        <member name="M:GSF.Units.Volume.Parse(System.String,System.Globalization.NumberStyles,System.IFormatProvider)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its <see cref="T:GSF.Units.Volume"/> equivalent.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information about s.
            </param>
            <returns>
            A <see cref="T:GSF.Units.Volume"/> equivalent to the number contained in s.
            </returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
            <exception cref="T:System.ArgumentNullException">s is null.</exception>
            <exception cref="T:System.OverflowException">
            s represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or greater than <see cref="F:GSF.Units.Volume.MaxValue"/>.
            </exception>
            <exception cref="T:System.FormatException">s is not in a format compliant with style.</exception>
        </member>
        <member name="M:GSF.Units.Volume.TryParse(System.String,GSF.Units.Volume@)">
            <summary>
            Converts the string representation of a number to its <see cref="T:GSF.Units.Volume"/> equivalent. A return value
            indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Volume"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not of the correct format, or represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or greater than <see cref="F:GSF.Units.Volume.MaxValue"/>.
            This paraampere is passed uninitialized.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
        </member>
        <member name="M:GSF.Units.Volume.TryParse(System.String,System.Globalization.NumberStyles,System.IFormatProvider,GSF.Units.Volume@)">
            <summary>
            Converts the string representation of a number in a specified style and culture-specific format to its
            <see cref="T:GSF.Units.Volume"/> equivalent. A return value indicates whether the conversion succeeded or failed.
            </summary>
            <param name="s">A string containing a number to convert.</param>
            <param name="style">
            A bitwise combination of System.Globalization.NumberStyles values that indicates the permitted format of s.
            </param>
            <param name="result">
            When this method returns, contains the <see cref="T:GSF.Units.Volume"/> value equivalent to the number contained in s,
            if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s paraampere is null,
            is not in a format compliant with style, or represents a number less than <see cref="F:GSF.Units.Volume.MinValue"/> or
            greater than <see cref="F:GSF.Units.Volume.MaxValue"/>. This paraampere is passed uninitialized.
            </param>
            <param name="provider">
            A <see cref="T:System.IFormatProvider"/> object that supplies culture-specific formatting information about s.
            </param>
            <returns>true if s was converted successfully; otherwise, false.</returns>
            <exception cref="T:System.ArgumentException">
            style is not a System.Globalization.NumberStyles value. -or- style is not a combination of
            System.Globalization.NumberStyles.AllowHexSpecifier and System.Globalization.NumberStyles.HexNumber values.
            </exception>
        </member>
        <member name="M:GSF.Units.Volume.GetTypeCode">
            <summary>
            Returns the <see cref="T:System.TypeCode"/> for value type <see cref="T:System.Double"/>.
            </summary>
            <returns>The enumerated constant, <see cref="F:System.TypeCode.Double"/>.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Equality(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Compares the two values for equality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Inequality(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Compares the two values for inequality.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_LessThan(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns true if left value is less than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_LessThanOrEqual(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns true if left value is less or equal to than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_GreaterThan(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns true if left value is greater than right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_GreaterThanOrEqual(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns true if left value is greater than or equal to right value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Boolean"/> value as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Implicit(System.Double)~GSF.Units.Volume">
            <summary>
            Implicitly converts value, represented in cubic meters, to a <see cref="T:GSF.Units.Volume"/>.
            </summary>
            <param name="value">A <see cref="T:System.Double"/> value.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Implicit(GSF.Units.Volume)~System.Double">
            <summary>
            Implicitly converts <see cref="T:GSF.Units.Volume"/>, represented in cubic meters, to a <see cref="T:System.Double"/>.
            </summary>
            <param name="value">A <see cref="T:GSF.Units.Volume"/> object.</param>
            <returns>A <see cref="T:System.Double"/> value.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Modulus(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns computed remainder after dividing first value by the second.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Addition(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns computed sum of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Subtraction(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns computed difference of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Multiply(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns computed product of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Division(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns computed division of values.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:GSF.Units.Volume"/> object as the result.</returns>
        </member>
        <member name="M:GSF.Units.Volume.op_Exponent(GSF.Units.Volume,GSF.Units.Volume)">
            <summary>
            Returns result of first value raised to volume of second value.
            </summary>
            <param name="value1">A <see cref="T:GSF.Units.Volume"/> object as the left hand operand.</param>
            <param name="value2">A <see cref="T:GSF.Units.Volume"/> object as the right hand operand.</param>
            <returns>A <see cref="T:System.Double"/> value as the result.</returns>
        </member>
        <member name="F:GSF.Units.Volume.MaxValue">
            <summary>Represents the largest possible value of an <see cref="T:GSF.Units.Volume"/>. This field is constant.</summary>
        </member>
        <member name="F:GSF.Units.Volume.MinValue">
            <summary>Represents the smallest possible value of an <see cref="T:GSF.Units.Volume"/>. This field is constant.</summary>
        </member>
        <member name="M:GSF.Units.Volume.FromLiters(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in liters.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in liters.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in liters.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromTeaspoons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US teaspoons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US teaspoons.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US teaspoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromMetricTeaspoons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in metric teaspoons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in metric teaspoons.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in metric teaspoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromTablespoons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US tablespoons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US tablespoons.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US tablespoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromMetricTablespoons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in metric tablespoons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in metric tablespoons.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in metric tablespoons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromCups(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US cups.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US cups.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US cups.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromMetricCups(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in metric cups.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in metric cups.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in metric cups.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromFluidOunces(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US fluid ounces.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US fluid ounces.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US fluid ounces.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromPints(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US fluid pints.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US fluid pints.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US fluid pints.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromQuarts(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US fluid quarts.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US fluid quarts.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US fluid quarts.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromGallons(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in US fluid gallons.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in US fluid gallons.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in US fluid gallons.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromCubicInches(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in cubic inches.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in cubic inches.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in cubic inches.</returns>
        </member>
        <member name="M:GSF.Units.Volume.FromCubicFeet(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.Units.Volume"/> value from the specified <paramref name="value"/> in cubic feet.
            </summary>
            <param name="value">New <see cref="T:GSF.Units.Volume"/> value in cubic feet.</param>
            <returns>New <see cref="T:GSF.Units.Volume"/> object from the specified <paramref name="value"/> in cubic feet.</returns>
        </member>
        <member name="T:GSF.UnixTimeTag">
            <summary>
            Represents a standard Unix timetag.
            </summary>
        </member>
        <member name="M:GSF.UnixTimeTag.#ctor(System.Double)">
            <summary>
            Creates a new <see cref="T:GSF.UnixTimeTag"/>, given number of seconds since 1/1/1970.
            </summary>
            <param name="seconds">Number of seconds since 1/1/1970.</param>
        </member>
        <member name="M:GSF.UnixTimeTag.#ctor(System.UInt32)">
            <summary>
            Creates a new <see cref="T:GSF.UnixTimeTag"/>, given number of seconds since 1/1/1970.
            </summary>
            <param name="seconds">Number of seconds since 1/1/1970.</param>
        </member>
        <member name="M:GSF.UnixTimeTag.#ctor(GSF.Ticks)">
            <summary>
            Creates a new <see cref="T:GSF.UnixTimeTag"/>, given specified <see cref="T:GSF.Ticks"/>.
            </summary>
            <param name="timestamp">Timestamp in <see cref="T:GSF.Ticks"/> to create Unix timetag from (minimum valid date is 1/1/1970).</param>
            <remarks>
            This constructor will accept a <see cref="T:System.DateTime"/> parameter since <see cref="T:GSF.Ticks"/> is implicitly castable to a <see cref="T:System.DateTime"/>.
            </remarks>
        </member>
        <member name="M:GSF.UnixTimeTag.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Creates a new <see cref="T:GSF.UnixTimeTag"/> from serialization parameters.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with populated with data.</param>
            <param name="context">The source <see cref="T:System.Runtime.Serialization.StreamingContext"/> for this deserialization.</param>
        </member>
        <member name="F:GSF.UnixTimeTag.BaseTicks">
            <summary>
            Number of ticks since 1/1/1970.
            </summary>
            <remarks>
            Unix dates are measured as the number of seconds since 1/1/1970.
            </remarks>
        </member>
        <member name="T:GSF.USTimeZones">
            <summary>
            Defines a few common United States time zones.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Atlantic">
            <summary>
            Gets the Atlantic time zone.
            </summary>
            <remarks>This time zone is used by the Commonwealth of Puerto Rico and the United States Virgin Islands.</remarks>
        </member>
        <member name="P:GSF.USTimeZones.Eastern">
            <summary>
            Gets the Eastern time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Central">
            <summary>
            Gets the Central time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Mountain">
            <summary>
            Gets the Mountain time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Pacific">
            <summary>
            Gets the Pacific time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Alaskan">
            <summary>
            Gets the Alaskan time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.Hawaiian">
            <summary>
            Gets the Hawaiian time zone.
            </summary>
        </member>
        <member name="P:GSF.USTimeZones.WestPacific">
            <summary>
            Gets the West Pacific time zone.
            </summary>
            <remarks>
            <para>This time zone is used by Guam and the Commonwealth of the Northern Mariana Islands.</para>
            <para>This is also known as the Chamorro time zone.</para>
            </remarks>
        </member>
        <member name="P:GSF.USTimeZones.Samoa">
            <summary>
            Gets the Samoa time zone.
            </summary>
            <remarks>This time zone is used by the American Samoa.</remarks>
        </member>
        <member name="T:GSF.Validation.EmailAddressValidator">
            <summary>
            Represents a validator that can be used to ensure the validity of an email address.
            </summary>
        </member>
        <member name="T:GSF.Validation.IValidator">
            <summary>
            Defines a value validator.
            </summary>
        </member>
        <member name="M:GSF.Validation.IValidator.Validate(System.Object,System.String@)">
            <summary>
            Determines whether or not the specified <paramref name="value"/> is valid.
            </summary>
            <param name="value">The value to be validated.</param>
            <param name="validationError">Error message returned if the <paramref name="value"/> is invalid.</param>
            <returns><strong>true</strong> if the <paramref name="value"/> is valid; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="M:GSF.Validation.EmailAddressValidator.Validate(System.Object,System.String@)">
            <summary>
            Determines whether or not the specified <paramref name="value"/> is a valid email address.
            </summary>
            <param name="value">The value to be validated.</param>
            <param name="validationError">Error message returned if the <paramref name="value"/> is invalid.</param>
            <returns><strong>true</strong> if the <paramref name="value"/> is valid; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="T:GSF.Validation.NamespaceDoc">
            <summary>
            Contains classes that facilitate the validation of data.
            </summary>
        </member>
        <member name="T:GSF.Validation.NonNullStringValidator">
            <summary>
            Represents a validator that can be used to check for <see cref="T:System.String"/>s that are null, empty, or consists only of whitespaces.
            </summary>
        </member>
        <member name="M:GSF.Validation.NonNullStringValidator.Validate(System.Object,System.String@)">
            <summary>
            Determines whether or not the specified <paramref name="value"/> is a valid string that is not null, empty or consists only of whitespaces.
            </summary>
            <param name="value">The value to be validated.</param>
            <param name="validationError">Error message returned if the <paramref name="value"/> is invalid.</param>
            <returns><strong>true</strong> if the <paramref name="value"/> is valid; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="T:GSF.Validation.NumericRangeValidator">
            <summary>
            Represents a validator that can be used to ensure that a numeric value falls within a specific range.
            </summary>
        </member>
        <member name="M:GSF.Validation.NumericRangeValidator.#ctor(System.Decimal,System.Decimal)">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Validation.NumericRangeValidator"/> class.
            </summary>
            <param name="minimum">The minimum allowed numeric value.</param>
            <param name="maximum">The maximum allowed numeric value.</param>
        </member>
        <member name="M:GSF.Validation.NumericRangeValidator.Validate(System.Object,System.String@)">
            <summary>
            Determines whether or not the specified <paramref name="value"/> is a valid number that falls within the specified range.
            </summary>
            <param name="value">The value to be validated.</param>
            <param name="validationError">Error message returned if the <paramref name="value"/> is invalid.</param>
            <returns><strong>true</strong> if the <paramref name="value"/> is valid; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="T:GSF.Validation.ValidationService">
            <summary>
            A class that facilitates value validation using <see cref="T:GSF.Validation.IValidator"/> implementations.
            </summary>
            <example>
            This example shows how to use <see cref="T:GSF.Validation.ValidationService"/> for input validation:
            <code>
            using System;
            using System.Collections.Generic;
            using GSF.Validation;
            
            class Program
            {
                static void Main(string[] args)
                {
                    // Dictionary where captured user input is saved.
                    Dictionary&lt;string, string&gt; input = new Dictionary&lt;string, string&gt;();
            
                    // Validation service that will validate user input.
                    ValidationService validation = new ValidationService(delegate(string source)
                        {
                            string value;
                            if (input.TryGetValue(source, out value))
                                return input[source];
                            else
                                return string.Empty;
                        });
            
                    // Add validation rules to the validation service.
                    validation.AddValidation("Name", new NonNullStringValidator());
                    validation.AddValidation("Email", new EmailAddressValidator());
            
                    // Capture user input.
                    Console.Write("Enter name: ");
                    input["Name"] = Console.ReadLine();
                    Console.Write("Enter email: ");
                    input["Email"] = Console.ReadLine();
                    Console.WriteLine("");
                
                    // Validate user input.
                    string errors;
                    if (!validation.Validate(out errors))
                        Console.WriteLine(errors);
                    else
                        Console.WriteLine("No validation errors were found!");
            
                    Console.ReadLine();
                }
            }
            </code>
            </example>
            <seealso cref="T:GSF.Validation.IValidator"/>
        </member>
        <member name="M:GSF.Validation.ValidationService.#ctor(System.Func{System.String,System.Object})">
            <summary>
            Initializes a new instance of the <see cref="T:GSF.Validation.ValidationService"/> class.
            </summary>
            <param name="valueLookupHandler"><see cref="T:System.Delegate"/> that will lookup the value to be validated.</param>
        </member>
        <member name="M:GSF.Validation.ValidationService.AddValidation(System.String,GSF.Validation.IValidator)">
            <summary>
            Adds a new validation.
            </summary>
            <param name="source">The source that will provide the value to be validated.</param>
            <param name="validator">The <see cref="T:GSF.Validation.IValidator"/> that will validate the value.</param>
            <exception cref="T:System.ArgumentNullException"><paramref name="source"/> or <paramref name="validator"/> is null.</exception>
        </member>
        <member name="M:GSF.Validation.ValidationService.Validate(System.String@)">
            <summary>
            Executes all validations.
            </summary>
            <param name="validationErrors">Errors messages returned by one or more of the validations.</param>
            <returns><strong>true</strong> if the validation completes without errors; otherwise <strong>false</strong>.</returns>
        </member>
        <member name="T:GSF.Word">
            <summary>
            Represents functions and extensions related to 16-bit words, 32-bit double-words and 64-bit quad-words.
            </summary>
        </member>
        <member name="M:GSF.Word.AlignWord(System.Int16)">
            <summary>
            Aligns word value on a 16-bit boundary.
            </summary>
            <param name="word">Word value to align.</param>
            <returns>Word value aligned to next 16-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.AlignWord(System.UInt16)">
            <summary>
            Aligns word value on a 16-bit boundary.
            </summary>
            <param name="word">Word value to align.</param>
            <returns>Word value aligned to next 16-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.AlignDoubleWord(System.Int32)">
            <summary>
            Aligns double-word value on a 32-bit boundary.
            </summary>
            <param name="doubleWord">Double-word value to align.</param>
            <returns>Double-word value aligned to next 32-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.AlignDoubleWord(System.UInt32)">
            <summary>
            Aligns double-word value on a 32-bit boundary.
            </summary>
            <param name="doubleWord">Double-word value to align.</param>
            <returns>Double-word value aligned to next 32-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.AlignQuadWord(System.Int64)">
            <summary>
            Aligns quad-word value on a 64-bit boundary.
            </summary>
            <param name="quadWord">Quad-word value to align.</param>
            <returns>Quad-word value aligned to next 64-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.AlignQuadWord(System.UInt64)">
            <summary>
            Aligns quad-word value on a 64-bit boundary.
            </summary>
            <param name="quadWord">Quad-word value to align.</param>
            <returns>Quad-word value aligned to next 64-bit boundary.</returns>
        </member>
        <member name="M:GSF.Word.HighNibble(System.Byte)">
            <summary>
            Returns the high-nibble (high 4-bits) from a byte.
            </summary>
            <param name="value">Byte value.</param>
            <returns>The high-nibble of the specified byte value.</returns>
        </member>
        <member name="M:GSF.Word.HighByte(System.UInt16)">
            <summary>
            Returns the high-byte from an unsigned word (UInt16).
            </summary>
            <param name="word">2-byte, 16-bit unsigned integer value.</param>
            <returns>The high-order byte of the specified 16-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the byte value whose in-memory representation
            is the same as the right-most, most-significant-byte of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.HighWord(System.UInt32)">
            <summary>
            Returns the unsigned high-word (UInt16) from an unsigned double-word (UInt32).
            </summary>
            <param name="doubleWord">4-byte, 32-bit unsigned integer value.</param>
            <returns>The unsigned high-order word of the specified 32-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the word value
            whose in-memory representation is the same as the right-most, most-significant-word
            of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.HighDoubleWord(System.UInt64)">
            <summary>
            Returns the unsigned high-double-word (UInt32) from an unsigned quad-word (UInt64).
            </summary>
            <param name="quadWord">8-byte, 64-bit unsigned integer value.</param>
            <returns>The high-order double-word of the specified 64-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the word value
            whose in-memory representation is the same as the right-most, most-significant-word
            of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.LowNibble(System.Byte)">
            <summary>
            Returns the low-nibble (low 4-bits) from a byte.
            </summary>
            <param name="value">Byte value.</param>
            <returns>The low-nibble of the specified byte value.</returns>
        </member>
        <member name="M:GSF.Word.LowByte(System.UInt16)">
            <summary>
            Returns the low-byte from an unsigned word (UInt16).
            </summary>
            <param name="word">2-byte, 16-bit unsigned integer value.</param>
            <returns>The low-order byte of the specified 16-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the byte value
            whose in-memory representation is the same as the left-most, least-significant-byte
            of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.LowWord(System.UInt32)">
            <summary>
            Returns the unsigned low-word (UInt16) from an unsigned double-word (UInt32).
            </summary>
            <param name="doubleWord">4-byte, 32-bit unsigned integer value.</param>
            <returns>The unsigned low-order word of the specified 32-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the word value
            whose in-memory representation is the same as the left-most, least-significant-word
            of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.LowDoubleWord(System.UInt64)">
            <summary>
            Returns the unsigned low-double-word (UInt32) from an unsigned quad-word (UInt64).
            </summary>
            <param name="quadWord">8-byte, 64-bit unsigned integer value.</param>
            <returns>The low-order double-word of the specified 64-bit unsigned integer value.</returns>
            <remarks>
            On little-endian architectures (e.g., Intel platforms), this will be the word value
            whose in-memory representation is the same as the left-most, least-significant-word
            of the integer value.
            </remarks>
        </member>
        <member name="M:GSF.Word.MakeWord(System.Byte,System.Byte)">
            <summary>
            Makes an unsigned word (UInt16) from two bytes.
            </summary>
            <param name="high">High byte.</param>
            <param name="low">Low byte.</param>
            <returns>An unsigned 16-bit word made from the two specified bytes.</returns>
        </member>
        <member name="M:GSF.Word.MakeDoubleWord(System.UInt16,System.UInt16)">
            <summary>
            Makes an unsigned double-word (UInt32) from two unsigned words (UInt16).
            </summary>
            <param name="high">High word.</param>
            <param name="low">Low word.</param>
            <returns>An unsigned 32-bit double-word made from the two specified unsigned 16-bit words.</returns>
        </member>
        <member name="M:GSF.Word.MakeQuadWord(System.UInt32,System.UInt32)">
            <summary>
            Makes an unsigned quad-word (UInt64) from two unsigned double-words (UInt32).
            </summary>
            <param name="high">High double-word.</param>
            <param name="low">Low double-word.</param>
            <returns>An unsigned 64-bit quad-word made from the two specified unsigned 32-bit double-words.</returns>
        </member>
        <member name="T:GSF.Xml.NamespaceDoc">
            <summary>
            Contains extension functions used to simplify and standardize usage of standard Xml objects.
            </summary>
        </member>
        <member name="T:GSF.Xml.XmlExtensions">
            <summary>Defines extension functions related to Xml elements.</summary>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetXmlNode(System.Xml.XmlDocument,System.String)">
            <summary>Gets an XML node from given path, creating the entire path if it does not exist.</summary>
            <remarks>This overload just allows the start of the given XML document by using its root element.</remarks>
            <param name="xmlDoc">An <see cref="T:System.Xml.XmlDocument"/> to query.</param>
            <param name="xpath">A <see cref="T:System.String"/> xpath query.</param>
            <returns>An <see cref="T:System.Xml.XmlNode"/> corresponding to the xpath query.</returns>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetXmlNode(System.Xml.XmlDocument,System.String,System.Boolean@)">
            <summary>Gets an XML node from given path, creating the entire path if it does not exist.</summary>
            <remarks>
            <para>This overload just allows the start of the given XML document by using its root element.</para>
            <para>Note that the <paramref name="isDirty"/> parameter will be set to True if any items were added to
            the tree.</para>
            </remarks>
            <param name="xmlDoc">An <see cref="T:System.Xml.XmlDocument"/> to query.</param>
            <param name="xpath">A <see cref="T:System.String"/> xpath query.</param>
            <param name="isDirty">A <see cref="T:System.Boolean"/> value indicating if items were added to the tree.</param>
            <returns>An <see cref="T:System.Xml.XmlNode"/> corresponding to the xpath query.</returns>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetXmlNode(System.Xml.XmlNode,System.String)">
            <summary>Gets an XML node from given path, creating the entire path if it does not exist.</summary>
            <param name="parentNode">An <see cref="T:System.Xml.XmlNode"/> parent node to query.</param>
            <param name="xpath">A <see cref="T:System.String"/> xpath query.</param>
            <returns>An <see cref="T:System.Xml.XmlNode"/> corresponding to the xpath query.</returns>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetXmlNode(System.Xml.XmlNode,System.String,System.Boolean@)">
            <summary>Gets an XML node from given path, creating the entire path if it does not exist.</summary>
            <remarks>Note that the <paramref name="isDirty"/> parameter will be set to True if any items were added to
            the tree.</remarks>
            <param name="parentNode">An <see cref="T:System.Xml.XmlNode"/> parent node to query.</param>
            <param name="xpath">A <see cref="T:System.String"/> xpath query.</param>
            <param name="isDirty">A <see cref="T:System.Boolean"/> value indicating if items were added to the tree.</param>
            <returns>An <see cref="T:System.Xml.XmlNode"/> corresponding to the xpath query.</returns>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetAttributeValue(System.Xml.XmlNode,System.String)">
            <summary>Safely gets or sets an XML node's attribute.</summary>
            <remarks>If you get an attribute that does not exist, null will be returned.</remarks>
            <param name="name">A <see cref="T:System.String"/> name of the value to get.</param>
            <param name="node">A <see cref="T:System.Xml.XmlNode"/> to query.</param>
            <returns>A <see cref="T:System.String"/> value returned for the attribute's value.</returns>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.SetAttributeValue(System.Xml.XmlNode,System.String,System.String)">
            <summary>Safely sets an XML node's attribute.</summary>
            <remarks>If you assign a value to an attribute that does not exist, the attribute will be created.</remarks>
            <param name="name">A <see cref="T:System.String"/> indicating the node name to use.</param>
            <param name="node">An <see cref="T:System.Xml.XmlNode"/> node to operate on.</param>
            <param name="value">A <see cref="T:System.String"/> value to set the node attribute's value to.</param>
        </member>
        <member name="M:GSF.Xml.XmlExtensions.GetDataSet(System.String)">
            <summary>
            Gets a data set object from an XML data set formatted as a String.
            </summary>
            <param name="xmlData">XML data string in standard DataSet format.</param>
            <returns>A <see cref="T:System.Data.DataSet"/> object.</returns>
        </member>
    </members>
</doc>
