internal DynamicBoundConfiguration(
     char valueSeparator,
     char escapedValueStartAndStop,
     char escapeValueEscapeChar,
     RowEndings rowEndings,
     ReadHeaders readHeader,
     WriteHeaders writeHeaders,
     WriteTrailingNewLines writeTrailingNewLine,
     MemoryPool <char> memoryPool,
     char?commentChar,
     int?writeBufferSizeHint,
     int readBufferSizeHint,
     IDynamicTypeConverter dynamicTypeConverter,
     DynamicRowDisposal dynamicRowDisposal
     ) :
     base(
         valueSeparator,
         escapedValueStartAndStop,
         escapeValueEscapeChar,
         rowEndings,
         readHeader,
         writeHeaders,
         writeTrailingNewLine,
         memoryPool,
         commentChar,
         writeBufferSizeHint,
         readBufferSizeHint,
         dynamicTypeConverter,
         dynamicRowDisposal
         )
 {
 }
Пример #2
0
 internal ConcreteBoundConfiguration(
     InstanceBuilderDelegate <T> newCons,
     Column[] deserializeColumns,
     Column[] serializeColumns,
     bool[] serializeColumnsNeedEscape,
     char valueSeparator,
     char escapedValueStartAndStop,
     char escapeValueEscapeChar,
     RowEndings rowEndings,
     ReadHeaders readHeader,
     WriteHeaders writeHeaders,
     WriteTrailingNewLines writeTrailingNewLine,
     MemoryPool <char> memoryPool,
     char?commentChar,
     int?writeBufferSizeHint,
     int readBufferSizeHint) : base(
         newCons,
         deserializeColumns,
         serializeColumns,
         serializeColumnsNeedEscape,
         valueSeparator,
         escapedValueStartAndStop,
         escapeValueEscapeChar,
         rowEndings,
         readHeader,
         writeHeaders,
         writeTrailingNewLine,
         memoryPool,
         commentChar,
         writeBufferSizeHint,
         readBufferSizeHint
         )
 {
 }
Пример #3
0
        /// <summary>
        /// For working with concrete types.
        /// </summary>
        protected BoundConfigurationBase(
            InstanceBuilderDelegate <T> newCons,
            Column[] deserializeColumns,
            Column[] serializeColumns,
            bool[] serializeColumnsNeedEscape,
            char valueSeparator,
            char escapedValueStartAndStop,
            char escapeValueEscapeChar,
            RowEndings rowEndings,
            ReadHeaders readHeader,
            WriteHeaders writeHeaders,
            WriteTrailingNewLines writeTrailingNewLine,
            MemoryPool <char> memoryPool,
            char?commentChar,
            int?writeBufferSizeHint,
            int readBufferSizeHint
            )
        {
            NewCons                    = newCons;
            DeserializeColumns         = deserializeColumns;
            SerializeColumns           = serializeColumns;
            SerializeColumnsNeedEscape = serializeColumnsNeedEscape;
            ValueSeparator             = valueSeparator;
            ValueSeparatorMemory       = ValueSeparator.ToString().AsMemory();
            EscapedValueStartAndStop   = escapedValueStartAndStop;
            EscapeValueEscapeChar      = escapeValueEscapeChar;
            RowEnding                  = rowEndings;
            WriteBufferSizeHint        = writeBufferSizeHint;
            ReadBufferSizeHint         = readBufferSizeHint;

            switch (RowEnding)
            {
            case RowEndings.CarriageReturn:
                RowEndingMemory = CarriageReturn;
                break;

            case RowEndings.CarriageReturnLineFeed:
                RowEndingMemory = CarriageReturnLineFeed;
                break;

            case RowEndings.LineFeed:
                RowEndingMemory = LineFeed;
                break;

            default:
                // for cases like detecting headers, actually trying to write is NO GOOD...
                //     but construction is fine
                RowEndingMemory = default;
                break;
            }

            ReadHeader           = readHeader;
            WriteHeader          = writeHeaders;
            WriteTrailingNewLine = writeTrailingNewLine;
            MemoryPool           = memoryPool;
            CommentChar          = commentChar;
            DynamicTypeConverter = null;
        }
Пример #4
0
        /// <summary>
        /// Set whether or not to write headers.
        /// </summary>
        public OptionsBuilder WithWriteHeader(WriteHeaders w)
        {
            if (!Enum.IsDefined(Types.WriteHeadersType, w))
            {
                Throw.ArgumentException($"Unexpected {nameof(WriteHeaders)} value: {w}", nameof(w));
            }

            return(WithWriteHeaderInternal(w));
        }
Пример #5
0
 // sometimes we want to skip validation in tests
 internal OptionsBuilder WithWriteHeaderInternal(WriteHeaders w)
 {
     WriteHeader = w;
     return(this);
 }