<?xml version="1.0"?>
<doc>
    <assembly>
        <name>LumenWorks.Framework.IO</name>
    </assembly>
    <members>
        <member name="T:LumenWorks.Framework.IO.Csv.CsvReader">
            <summary>
            Represents a reader that provides fast, non-cached, forward-only access to CSV data.  
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DefaultBufferSize">
            <summary>
            Defines the default buffer size.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DefaultDelimiter">
            <summary>
            Defines the default delimiter character separating each field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DefaultQuote">
            <summary>
            Defines the default quote character wrapping every field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DefaultEscape">
            <summary>
            Defines the default escape character letting insert quotation characters inside a quoted field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DefaultComment">
            <summary>
            Defines the default comment character indicating that a line is commented out.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._fieldHeaderComparer">
            <summary>
            Contains the field header comparer.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._reader">
            <summary>
            Contains the <see cref="T:TextReader"/> pointing to the CSV file.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._bufferSize">
            <summary>
            Contains the buffer size.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._comment">
            <summary>
            Contains the comment character indicating that a line is commented out.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._escape">
            <summary>
            Contains the escape character letting insert quotation characters inside a quoted field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._delimiter">
            <summary>
            Contains the delimiter character separating each field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._quote">
            <summary>
            Contains the quotation character wrapping every field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._trimmingOptions">
            <summary>
            Determines which values should be trimmed.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._hasHeaders">
            <summary>
            Indicates if field names are located on the first non commented line.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._defaultParseErrorAction">
            <summary>
            Contains the default action to take when a parsing error has occured.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._missingFieldAction">
            <summary>
            Contains the action to take when a field is missing.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._supportsMultiline">
            <summary>
            Indicates if the reader supports multiline.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._skipEmptyLines">
            <summary>
            Indicates if the reader will skip empty lines.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._initialized">
            <summary>
            Indicates if the class is initialized.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._fieldHeaders">
            <summary>
            Contains the field headers.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._fieldHeaderIndexes">
            <summary>
            Contains the dictionary of field indexes by header. The key is the field name and the value is its index.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._currentRecordIndex">
            <summary>
            Contains the current record index in the CSV file.
            A value of <see cref="M:Int32.MinValue"/> means that the reader has not been initialized yet.
            Otherwise, a negative value means that no record has been read yet.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._nextFieldStart">
            <summary>
            Contains the starting position of the next unread field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._nextFieldIndex">
            <summary>
            Contains the index of the next unread field.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._fields">
            <summary>
            Contains the array of the field values for the current record.
            A null value indicates that the field have not been parsed.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._fieldCount">
            <summary>
            Contains the maximum number of fields to retrieve for each record.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._buffer">
            <summary>
            Contains the read buffer.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._bufferLength">
            <summary>
            Contains the current read buffer length.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._eof">
            <summary>
            Indicates if the end of the reader has been reached.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._eol">
            <summary>
            Indicates if the last read operation reached an EOL character.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._firstRecordInCache">
            <summary>
            Indicates if the first record is in cache.
            This can happen when initializing a reader with no headers
            because one record must be read to get the field count automatically
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._missingFieldFlag">
            <summary>
            Indicates if one or more field are missing for the current record.
            Resets after each successful record read.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._parseErrorFlag">
            <summary>
            Indicates if a parse error occured for the current record.
            Resets after each successful record read.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,LumenWorks.Framework.IO.Csv.ValueTrimmingOptions)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimmingOptions">Determines which values should be trimmed.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,LumenWorks.Framework.IO.Csv.ValueTrimmingOptions,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimmingOptions">Determines which values should be trimmed.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="bufferSize"/> must be 1 or more.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.OnParseError(LumenWorks.Framework.IO.Csv.ParseErrorEventArgs)">
            <summary>
            Raises the <see cref="M:ParseError"/> event.
            </summary>
            <param name="e">The <see cref="T:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.GetFieldHeaders">
            <summary>
            Gets the field headers.
            </summary>
            <returns>The field headers or an empty array if headers are not supported.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.EnsureInitialize">
            <summary>
            Ensures that the reader is initialized.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.GetFieldIndex(System.String)">
            <summary>
            Gets the field index for the provided header.
            </summary>
            <param name="header">The header to look for.</param>
            <returns>The field index for the provided header. -1 if not found.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.CopyCurrentRecordTo(System.String[])">
            <summary>
            Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
            </summary>
            <param name="array"> The one-dimensional <see cref="T:Array"/> that is the destination of the fields of the current record.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentException">
            	The number of fields in the record is greater than the available space from <paramref name="index"/> to the end of <paramref name="array"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.CopyCurrentRecordTo(System.String[],System.Int32)">
            <summary>
            Copies the field array of the current record to a one-dimensional array, starting at the beginning of the target array.
            </summary>
            <param name="array"> The one-dimensional <see cref="T:Array"/> that is the destination of the fields of the current record.</param>
            <param name="index">The zero-based index in <paramref name="array"/> at which copying begins.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="array"/> is <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="index"/> is les than zero or is equal to or greater than the length <paramref name="array"/>. 
            </exception>
            <exception cref="T:System.InvalidOperationException">
            No current record.
            </exception>
            <exception cref="T:System.ArgumentException">
            	The number of fields in the record is greater than the available space from <paramref name="index"/> to the end of <paramref name="array"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.GetCurrentRawData">
            <summary>
            Gets the current raw CSV data.
            </summary>
            <remarks>Used for exception handling purpose.</remarks>
            <returns>The current raw CSV data.</returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.IsWhiteSpace(System.Char)">
            <summary>
            Indicates whether the specified Unicode character is categorized as white space.
            </summary>
            <param name="c">A Unicode character.</param>
            <returns><see langword="true"/> if <paramref name="c"/> is white space; otherwise, <see langword="false"/>.</returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.MoveTo(System.Int64)">
            <summary>
            Moves to the specified record index.
            </summary>
            <param name="record">The record index.</param>
            <returns><c>true</c> if the operation was successful; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ParseNewLine(System.Int32@)">
            <summary>
            Parses a new line delimiter.
            </summary>
            <param name="pos">The starting position of the parsing. Will contain the resulting end position.</param>
            <returns><see langword="true"/> if a new line delimiter was found; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.IsNewLine(System.Int32)">
            <summary>
            Determines whether the character at the specified position is a new line delimiter.
            </summary>
            <param name="pos">The position of the character to verify.</param>
            <returns>
            	<see langword="true"/> if the character at the specified position is a new line delimiter; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ReadBuffer">
            <summary>
            Fills the buffer with data from the reader.
            </summary>
            <returns><see langword="true"/> if data was successfully read; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ReadField(System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Reads the field at the specified index.
            Any unread fields with an inferior index will also be read as part of the required parsing.
            </summary>
            <param name="field">The field index.</param>
            <param name="initializing">Indicates if the reader is currently initializing.</param>
            <param name="discardValue">Indicates if the value(s) are discarded.</param>
            <returns>
            The field at the specified index. 
            A <see langword="null"/> indicates that an error occured or that the last field has been reached during initialization.
            </returns>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="field"/> is out of range.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            	There is no current record.
            </exception>
            <exception cref="T:LumenWorks.Framework.IO.Csv.MissingFieldCsvException">
            	The CSV data appears to be missing a field.
            </exception>
            <exception cref="T:LumenWorks.Framework.IO.Csv.MalformedCsvException">
            	The CSV data appears to be malformed.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ReadNextRecord">
            <summary>
            Reads the next record.
            </summary>
            <returns><see langword="true"/> if a record has been successfully reads; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ReadNextRecord(System.Boolean,System.Boolean)">
            <summary>
            Reads the next record.
            </summary>
            <param name="onlyReadHeaders">
            Indicates if the reader will proceed to the next record after having read headers.
            <see langword="true"/> if it stops after having read headers; otherwise, <see langword="false"/>.
            </param>
            <param name="skipToNextLine">
            Indicates if the reader will skip directly to the next line without parsing the current one. 
            To be used when an error occurs.
            </param>
            <returns><see langword="true"/> if a record has been successfully reads; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.SkipEmptyAndCommentedLines(System.Int32@)">
            <summary>
            Skips empty and commented lines.
            If the end of the buffer is reached, its content be discarded and filled again from the reader.
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.DoSkipEmptyAndCommentedLines(System.Int32@)">
            <summary>
            <para>Worker method.</para>
            <para>Skips empty and commented lines.</para>
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.SkipWhiteSpaces(System.Int32@)">
            <summary>
            Skips whitespace characters.
            </summary>
            <param name="pos">The starting position of the parsing. Will contain the resulting end position.</param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.SkipToNextLine(System.Int32@)">
            <summary>
            Skips ahead to the next NewLine character.
            If the end of the buffer is reached, its content be discarded and filled again from the reader.
            </summary>
            <param name="pos">
            The position in the buffer where to start parsing. 
            Will contains the resulting position after the operation.
            </param>
            <returns><see langword="true"/> if the end of the reader has not been reached; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.HandleParseError(LumenWorks.Framework.IO.Csv.MalformedCsvException,System.Int32@)">
            <summary>
            Handles a parsing error.
            </summary>
            <param name="error">The parsing error that occured.</param>
            <param name="pos">The current position in the buffer.</param>
            <exception cref="T:System.ArgumentNullException">
            <paramref name="error"/> is <see langword="null"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.HandleMissingField(System.String,System.Int32,System.Int32@)">
            <summary>
            Handles a missing field error.
            </summary>
            <param name="value">The partially parsed value, if available.</param>
            <param name="fieldIndex">The missing field index.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <returns>
            The resulting value according to <see cref="M:MissingFieldAction"/>.
            If the action is set to <see cref="T:MissingFieldAction.TreatAsParseError"/>,
            then the parse error will be handled according to <see cref="P:LumenWorks.Framework.IO.Csv.CsvReader.DefaultParseErrorAction"/>.
            </returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.ValidateDataReader(LumenWorks.Framework.IO.Csv.CsvReader.DataReaderValidations)">
            <summary>
            Validates the state of the data reader.
            </summary>
            <param name="validations">The validations to accomplish.</param>
            <exception cref="T:System.InvalidOperationException">
            No current record.
            </exception>
            <exception cref="T:System.InvalidOperationException">
            This operation is invalid when the reader is closed.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.CopyFieldToArray(System.Int32,System.Int64,System.Array,System.Int32,System.Int32)">
            <summary>
            Copy the value of the specified field to an array.
            </summary>
            <param name="field">The index of the field.</param>
            <param name="fieldOffset">The offset in the field value.</param>
            <param name="destinationArray">The destination array where the field value will be copied.</param>
            <param name="destinationOffset">The destination array offset.</param>
            <param name="length">The number of characters to copy from the field value.</param>
            <returns></returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.GetEnumerator">
            <summary>
            Returns an <see cref="T:RecordEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:RecordEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.System#Collections#Generic#IEnumerable{System#String[]}#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.Generics.IEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:System.Collections.Generics.IEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an <see cref="T:System.Collections.IEnumerator"/>  that can iterate through CSV records.
            </summary>
            <returns>An <see cref="T:System.Collections.IEnumerator"/>  that can iterate through CSV records.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._isDisposed">
            <summary>
            Contains the disposed status flag.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader._lock">
            <summary>
            Contains the locking object for multi-threading purpose.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.OnDisposed(System.EventArgs)">
            <summary>
            Raises the <see cref="M:Disposed"/> event.
            </summary>
            <param name="e">A <see cref="T:System.EventArgs"/> that contains the event data.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.CheckDisposed">
            <summary>
            Checks if the instance has been disposed of, and if it has, throws an <see cref="T:System.ComponentModel.ObjectDisposedException"/>; otherwise, does nothing.
            </summary>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            	The instance has been disposed of.
            </exception>
            <remarks>
            	Derived classes should call this method at the start of all methods and properties that should not be accessed after a call to <see cref="M:Dispose()"/>.
            </remarks>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.Dispose">
            <summary>
            Releases all resources used by the instance.
            </summary>
            <remarks>
            	Calls <see cref="M:Dispose(Boolean)"/> with the disposing parameter set to <see langword="true"/> to free unmanaged and managed resources.
            </remarks>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.Dispose(System.Boolean)">
            <summary>
            Releases the unmanaged resources used by this instance and optionally releases the managed resources.
            </summary>
            <param name="disposing">
            	<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.
            </param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.Finalize">
            <summary>
            Releases unmanaged resources and performs other cleanup operations before the instance is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="E:LumenWorks.Framework.IO.Csv.CsvReader.ParseError">
            <summary>
            Occurs when there is an error while parsing the CSV stream.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Comment">
            <summary>
            Gets the comment character indicating that a line is commented out.
            </summary>
            <value>The comment character indicating that a line is commented out.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Escape">
            <summary>
            Gets the escape character letting insert quotation characters inside a quoted field.
            </summary>
            <value>The escape character letting insert quotation characters inside a quoted field.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Delimiter">
            <summary>
            Gets the delimiter character separating each field.
            </summary>
            <value>The delimiter character separating each field.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Quote">
            <summary>
            Gets the quotation character wrapping every field.
            </summary>
            <value>The quotation character wrapping every field.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.HasHeaders">
            <summary>
            Indicates if field names are located on the first non commented line.
            </summary>
            <value><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.TrimmingOption">
            <summary>
            Indicates if spaces at the start and end of a field are trimmed.
            </summary>
            <value><see langword="true"/> if spaces at the start and end of a field are trimmed, otherwise, <see langword="false"/>.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.BufferSize">
            <summary>
            Gets the buffer size.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.DefaultParseErrorAction">
            <summary>
            Gets or sets the default action to take when a parsing error has occured.
            </summary>
            <value>The default action to take when a parsing error has occured.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.MissingFieldAction">
            <summary>
            Gets or sets the action to take when a field is missing.
            </summary>
            <value>The action to take when a field is missing.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.SupportsMultiline">
            <summary>
            Gets or sets a value indicating if the reader supports multiline fields.
            </summary>
            <value>A value indicating if the reader supports multiline field.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.SkipEmptyLines">
            <summary>
            Gets or sets a value indicating if the reader will skip empty lines.
            </summary>
            <value>A value indicating if the reader will skip empty lines.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.DefaultHeaderName">
            <summary>
            Gets or sets the default header name when it is an empty string or only whitespaces.
            The header index will be appended to the specified name.
            </summary>
            <value>The default header name when it is an empty string or only whitespaces.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.FieldCount">
            <summary>
            Gets the maximum number of fields to retrieve for each record.
            </summary>
            <value>The maximum number of fields to retrieve for each record.</value>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.EndOfStream">
            <summary>
            Gets a value that indicates whether the current stream position is at the end of the stream.
            </summary>
            <value><see langword="true"/> if the current stream position is at the end of the stream; otherwise <see langword="false"/>.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.CurrentRecordIndex">
            <summary>
            Gets the current record index in the CSV file.
            </summary>
            <value>The current record index in the CSV file.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.MissingFieldFlag">
            <summary>
            Indicates if one or more field are missing for the current record.
            Resets after each successful record read.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.ParseErrorFlag">
            <summary>
            Indicates if a parse error occured for the current record.
            Resets after each successful record read.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Item(System.Int32,System.String)">
            <summary>
            Gets the field with the specified name and record position. <see cref="M:hasHeaders"/> must be <see langword="true"/>.
            </summary>
            <value>
            The field with the specified name and record position.
            </value>
            <exception cref="T:ArgumentNullException">
            	<paramref name="field"/> is <see langword="null"/> or an empty string.
            </exception>
            <exception cref="T:InvalidOperationException">
            The CSV does not have headers (<see cref="M:HasHeaders"/> property is <see langword="false"/>).
            </exception>
            <exception cref="T:ArgumentException">
            	<paramref name="field"/> not found.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	Record index must be > 0.
            </exception>
            <exception cref="T:InvalidOperationException">
            	Cannot move to a previous record in forward-only mode.
            </exception>
            <exception cref="T:EndOfStreamException">
            	Cannot read record at <paramref name="record"/>.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Item(System.Int32,System.Int32)">
            <summary>
            Gets the field at the specified index and record position.
            </summary>
            <value>
            The field at the specified index and record position.
            A <see langword="null"/> is returned if the field cannot be found for the record.
            </value>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="field"/> must be included in [0, <see cref="M:FieldCount"/>[.
            </exception>
            <exception cref="T:ArgumentOutOfRangeException">
            	Record index must be > 0.
            </exception>
            <exception cref="T:InvalidOperationException">
            	Cannot move to a previous record in forward-only mode.
            </exception>
            <exception cref="T:EndOfStreamException">
            	Cannot read record at <paramref name="record"/>.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Item(System.String)">
            <summary>
            Gets the field with the specified name. <see cref="M:hasHeaders"/> must be <see langword="true"/>.
            </summary>
            <value>
            The field with the specified name.
            </value>
            <exception cref="T:ArgumentNullException">
            	<paramref name="field"/> is <see langword="null"/> or an empty string.
            </exception>
            <exception cref="T:InvalidOperationException">
            The CSV does not have headers (<see cref="M:HasHeaders"/> property is <see langword="false"/>).
            </exception>
            <exception cref="T:ArgumentException">
            	<paramref name="field"/> not found.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.Item(System.Int32)">
            <summary>
            Gets the field at the specified index.
            </summary>
            <value>The field at the specified index.</value>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="field"/> must be included in [0, <see cref="M:FieldCount"/>[.
            </exception>
            <exception cref="T:InvalidOperationException">
            	No record read yet. Call ReadLine() first.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="E:LumenWorks.Framework.IO.Csv.CsvReader.Disposed">
            <summary>
            Occurs when the instance is disposed of.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.IsDisposed">
            <summary>
            Gets a value indicating whether the instance has been disposed of.
            </summary>
            <value>
            	<see langword="true"/> if the instance has been disposed of; otherwise, <see langword="false"/>.
            </value>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator">
            <summary>
            Supports a simple iteration over the records of a <see cref="T:CsvReader"/>.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator._reader">
            <summary>
            Contains the enumerated <see cref="T:CsvReader"/>.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator._current">
            <summary>
            Contains the current record.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator._currentRecordIndex">
            <summary>
            Contains the current record index.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.#ctor(LumenWorks.Framework.IO.Csv.CsvReader)">
            <summary>
            Initializes a new instance of the <see cref="T:RecordEnumerator"/> class.
            </summary>
            <param name="reader">The <see cref="T:CsvReader"/> to iterate over.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.MoveNext">
            <summary>
            Advances the enumerator to the next record of the CSV.
            </summary>
            <returns><see langword="true"/> if the enumerator was successfully advanced to the next record, <see langword="false"/> if the enumerator has passed the end of the CSV.</returns>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.Reset">
            <summary>
            Sets the enumerator to its initial position, which is before the first record in the CSV.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.Current">
            <summary>
            Gets the current record.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CsvReader.RecordEnumerator.System#Collections#IEnumerator#Current">
            <summary>
            Gets the current record.
            </summary>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CsvReader.DataReaderValidations">
            <summary>
            Defines the data reader validations.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DataReaderValidations.None">
            <summary>
            No validation.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DataReaderValidations.IsInitialized">
            <summary>
            Validate that the data reader is initialized.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CsvReader.DataReaderValidations.IsNotClosed">
            <summary>
            Validate that the data reader is not closed.
            </summary>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.MissingFieldCsvException">
            <summary>
            Represents the exception that is thrown when a there is a missing field in a record of the CSV file.
            </summary>
            <remarks>
            MissingFieldException would have been a better name, but there is already a <see cref="T:System.MissingFieldException"/>.
            </remarks>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.MalformedCsvException">
            <summary>
            Represents the exception that is thrown when a CSV file is malformed.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MalformedCsvException._message">
            <summary>
            Contains the message that describes the error.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MalformedCsvException._rawData">
            <summary>
            Contains the raw data when the error occured.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MalformedCsvException._currentFieldIndex">
            <summary>
            Contains the current field index.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MalformedCsvException._currentRecordIndex">
            <summary>
            Contains the current record index.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MalformedCsvException._currentPosition">
            <summary>
            Contains the current position in the raw data.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor">
            <summary>
            Initializes a new instance of the MalformedCsvException class.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the MalformedCsvException class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the MalformedCsvException 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="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor(System.String,System.Int32,System.Int64,System.Int32)">
            <summary>
            Initializes a new instance of the MalformedCsvException class.
            </summary>
            <param name="rawData">The raw data when the error occured.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <param name="currentRecordIndex">The current record index.</param>
            <param name="currentFieldIndex">The current field index.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor(System.String,System.Int32,System.Int64,System.Int32,System.Exception)">
            <summary>
            Initializes a new instance of the MalformedCsvException class.
            </summary>
            <param name="rawData">The raw data when the error occured.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <param name="currentRecordIndex">The current record index.</param>
            <param name="currentFieldIndex">The current field index.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the MalformedCsvException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MalformedCsvException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            When overridden in a derived class, sets the <see cref="T:SerializationInfo"/> with information about the exception.
            </summary>
            <param name="info">The <see cref="T:SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.MalformedCsvException.RawData">
            <summary>
            Gets the raw data when the error occured.
            </summary>
            <value>The raw data when the error occured.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.MalformedCsvException.CurrentPosition">
            <summary>
            Gets the current position in the raw data.
            </summary>
            <value>The current position in the raw data.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.MalformedCsvException.CurrentRecordIndex">
            <summary>
            Gets the current record index.
            </summary>
            <value>The current record index.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.MalformedCsvException.CurrentFieldIndex">
            <summary>
            Gets the current field index.
            </summary>
            <value>The current record index.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.MalformedCsvException.Message">
            <summary>
            Gets a message that describes the current exception.
            </summary>
            <value>A message that describes the current exception.</value>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor">
            <summary>
            Initializes a new instance of the MissingFieldCsvException class.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the MissingFieldCsvException class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the MissingFieldCsvException 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="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor(System.String,System.Int32,System.Int64,System.Int32)">
            <summary>
            Initializes a new instance of the MissingFieldCsvException class.
            </summary>
            <param name="rawData">The raw data when the error occured.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <param name="currentRecordIndex">The current record index.</param>
            <param name="currentFieldIndex">The current field index.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor(System.String,System.Int32,System.Int64,System.Int32,System.Exception)">
            <summary>
            Initializes a new instance of the MissingFieldCsvException class.
            </summary>
            <param name="rawData">The raw data when the error occured.</param>
            <param name="currentPosition">The current position in the raw data.</param>
            <param name="currentRecordIndex">The current record index.</param>
            <param name="currentFieldIndex">The current field index.</param>
            <param name="innerException">The exception that is the cause of the current exception.</param>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.MissingFieldCsvException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the MissingFieldCsvException class with serialized data.
            </summary>
            <param name="info">The <see cref="T:SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:StreamingContext"/> that contains contextual information about the source or destination.</param>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CachedCsvReader">
            <summary>
            Represents a reader that provides fast, cached, dynamic access to CSV data.
            </summary>
            <remarks>The number of records is limited to <see cref="F:System.Int32.MaxValue"/> - 1.</remarks>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader._records">
            <summary>
            Contains the cached records.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader._currentRecordIndex">
            <summary>
            Contains the current record index (inside the cached records array).
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader._readingStream">
            <summary>
            Indicates if a new record is being read from the CSV stream.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader._bindingList">
            <summary>
            Contains the binding list linked to this reader.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,LumenWorks.Framework.IO.Csv.ValueTrimmingOptions)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimmingOptions">Determines how values should be trimmed.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:ArgumentException">
            	Cannot read from <paramref name="reader"/>.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.#ctor(System.IO.TextReader,System.Boolean,System.Char,System.Char,System.Char,System.Char,LumenWorks.Framework.IO.Csv.ValueTrimmingOptions,System.Int32)">
            <summary>
            Initializes a new instance of the CsvReader class.
            </summary>
            <param name="reader">A <see cref="T:TextReader"/> pointing to the CSV file.</param>
            <param name="hasHeaders"><see langword="true"/> if field names are located on the first non commented line, otherwise, <see langword="false"/>.</param>
            <param name="delimiter">The delimiter character separating each field (default is ',').</param>
            <param name="quote">The quotation character wrapping every field (default is ''').</param>
            <param name="escape">
            The escape character letting insert quotation characters inside a quoted field (default is '\').
            If no escape character, set to '\0' to gain some performance.
            </param>
            <param name="comment">The comment character indicating that a line is commented out (default is '#').</param>
            <param name="trimSpaces"><see langword="true"/> if spaces at the start and end of a field are trimmed, otherwise, <see langword="false"/>. Default is <see langword="true"/>.</param>
            <param name="bufferSize">The buffer size in bytes.</param>
            <exception cref="T:ArgumentNullException">
            	<paramref name="reader"/> is a <see langword="null"/>.
            </exception>
            <exception cref="T:System.ArgumentOutOfRangeException">
            	<paramref name="bufferSize"/> must be 1 or more.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.ReadToEnd">
            <summary>
            Reads the CSV stream from the current position to the end of the stream.
            </summary>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.ReadNextRecord(System.Boolean,System.Boolean)">
            <summary>
            Reads the next record.
            </summary>
            <param name="onlyReadHeaders">
            Indicates if the reader will proceed to the next record after having read headers.
            <see langword="true"/> if it stops after having read headers; otherwise, <see langword="false"/>.
            </param>
            <param name="skipToNextLine">
            Indicates if the reader will skip directly to the next line without parsing the current one. 
            To be used when an error occurs.
            </param>
            <returns><see langword="true"/> if a record has been successfully reads; otherwise, <see langword="false"/>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            The instance has been disposed of.
            </exception>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.MoveToStart">
            <summary>
            Moves before the first record.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.MoveToLastCachedRecord">
            <summary>
            Moves to the last record read so far.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.MoveTo(System.Int64)">
            <summary>
            Moves to the specified record index.
            </summary>
            <param name="record">The record index.</param>
            <returns><c>true</c> if the operation was successful; otherwise, <c>false</c>.</returns>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            	The instance has been disposed of.
            </exception>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CachedCsvReader.CurrentRecordIndex">
            <summary>
            Gets the current record index in the CSV file.
            </summary>
            <value>The current record index in the CSV file.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CachedCsvReader.EndOfStream">
            <summary>
            Gets a value that indicates whether the current stream position is at the end of the stream.
            </summary>
            <value><see langword="true"/> if the current stream position is at the end of the stream; otherwise <see langword="false"/>.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CachedCsvReader.Item(System.Int32)">
            <summary>
            Gets the field at the specified index.
            </summary>
            <value>The field at the specified index.</value>
            <exception cref="T:ArgumentOutOfRangeException">
            	<paramref name="field"/> must be included in [0, <see cref="M:FieldCount"/>[.
            </exception>
            <exception cref="T:InvalidOperationException">
            	No record read yet. Call ReadLine() first.
            </exception>
            <exception cref="T:LumenWorks.Framework.IO.Csv.MissingFieldCsvException">
            	The CSV data appears to be missing a field.
            </exception>
            <exception cref="T:MalformedCsvException">
            	The CSV appears to be corrupt at the current position.
            </exception>
            <exception cref="T:System.ComponentModel.ObjectDisposedException">
            	The instance has been disposed of.
            </exception>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvRecordComparer">
            <summary>
            Represents a CSV record comparer.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvRecordComparer._field">
            <summary>
            Contains the field index of the values to compare.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvRecordComparer._direction">
            <summary>
            Contains the sort direction.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvRecordComparer.#ctor(System.Int32,System.ComponentModel.ListSortDirection)">
            <summary>
            Initializes a new instance of the CsvRecordComparer class.
            </summary>
            <param name="field">The field index of the values to compare.</param>
            <param name="direction">The sort direction.</param>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList">
            <summary>
            Represents a binding list wrapper for a CSV reader.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList._csv">
            <summary>
            Contains the linked CSV reader.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList._count">
            <summary>
            Contains the cached record count.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList._properties">
            <summary>
            Contains the cached property descriptors.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList._sort">
            <summary>
            Contains the current sort property.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList._direction">
            <summary>
            Contains the current sort direction.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvBindingList.#ctor(LumenWorks.Framework.IO.Csv.CachedCsvReader)">
            <summary>
            Initializes a new instance of the CsvBindingList class.
            </summary>
            <param name="csv"></param>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvPropertyDescriptor">
            <summary>
            Represents a CSV field property descriptor.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvPropertyDescriptor._index">
            <summary>
            Contains the field index.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvPropertyDescriptor.#ctor(System.String,System.Int32)">
            <summary>
            Initializes a new instance of the CsvPropertyDescriptor class.
            </summary>
            <param name="fieldName">The field name.</param>
            <param name="index">The field index.</param>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.CachedCsvReader.CsvPropertyDescriptor.Index">
            <summary>
            Gets the field index.
            </summary>
            <value>The field index.</value>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.BufferSizeTooSmall">
            <summary>
              Looks up a localized string similar to Buffer size must be 1 or more..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.CannotMovePreviousRecordInForwardOnly">
            <summary>
              Looks up a localized string similar to Cannot move to a previous record in forward-only mode..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.CannotReadRecordAtIndex">
            <summary>
              Looks up a localized string similar to Cannot read record at index &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.EnumerationFinishedOrNotStarted">
            <summary>
              Looks up a localized string similar to Enumeration has either not started or has already finished..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.EnumerationVersionCheckFailed">
            <summary>
              Looks up a localized string similar to Collection was modified; enumeration operation may not execute..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.FieldHeaderNotFound">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; field header not found..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.FieldIndexOutOfRange">
            <summary>
              Looks up a localized string similar to Field index must be included in [0, FieldCount[. Specified field index was : &apos;{0}&apos;..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.MalformedCsvException">
            <summary>
              Looks up a localized string similar to The CSV appears to be corrupt near record &apos;{0}&apos; field &apos;{1} at position &apos;{2}&apos;. Current raw data : &apos;{3}&apos;..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.MissingFieldActionNotSupported">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a supported missing field action..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.NoCurrentRecord">
            <summary>
              Looks up a localized string similar to No current record..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.NoHeaders">
            <summary>
              Looks up a localized string similar to The CSV does not have headers (CsvReader.HasHeaders property is false)..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.NotEnoughSpaceInArray">
            <summary>
              Looks up a localized string similar to The number of fields in the record is greater than the available space from index to the end of the destination array..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.ParseErrorActionInvalidInsideParseErrorEvent">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a valid ParseErrorAction while inside a ParseError event..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.ParseErrorActionNotSupported">
            <summary>
              Looks up a localized string similar to &apos;{0}&apos; is not a supported ParseErrorAction..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.ReaderClosed">
            <summary>
              Looks up a localized string similar to This operation is invalid when the reader is closed..
            </summary>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.Resources.ExceptionMessage.RecordIndexLessThanZero">
            <summary>
              Looks up a localized string similar to Record index must be 0 or more..
            </summary>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs">
            <summary>
            Provides data for the <see cref="M:CsvReader.ParseError"/> event.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs._error">
            <summary>
            Contains the error that occured.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs._action">
            <summary>
            Contains the action to take.
            </summary>
        </member>
        <member name="M:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs.#ctor(LumenWorks.Framework.IO.Csv.MalformedCsvException,LumenWorks.Framework.IO.Csv.ParseErrorAction)">
            <summary>
            Initializes a new instance of the ParseErrorEventArgs class.
            </summary>
            <param name="error">The error that occured.</param>
            <param name="defaultAction">The default action to take.</param>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs.Error">
            <summary>
            Gets the error that occured.
            </summary>
            <value>The error that occured.</value>
        </member>
        <member name="P:LumenWorks.Framework.IO.Csv.ParseErrorEventArgs.Action">
            <summary>
            Gets or sets the action to take.
            </summary>
            <value>The action to take.</value>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.ParseErrorAction">
            <summary>
            Specifies the action to take when a parsing error has occured.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.ParseErrorAction.RaiseEvent">
            <summary>
            Raises the <see cref="M:CsvReader.ParseError"/> event.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.ParseErrorAction.AdvanceToNextLine">
            <summary>
            Tries to advance to next line.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.ParseErrorAction.ThrowException">
            <summary>
            Throws an exception.
            </summary>
        </member>
        <member name="T:LumenWorks.Framework.IO.Csv.MissingFieldAction">
            <summary>
            Specifies the action to take when a field is missing.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MissingFieldAction.ParseError">
            <summary>
            Treat as a parsing error.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MissingFieldAction.ReplaceByEmpty">
            <summary>
            Replaces by an empty value.
            </summary>
        </member>
        <member name="F:LumenWorks.Framework.IO.Csv.MissingFieldAction.ReplaceByNull">
            <summary>
            Replaces by a null value (<see langword="null"/>).
            </summary>
        </member>
    </members>
</doc>
