/// <summary> /// Creates buffered output with specified sinks. /// </summary> /// <param name="enableBuffering">Whether to immediately enable buffering, i.e. increase the level.</param> /// <param name="charSink">A writer through which character data will be written.</param> /// <param name="byteSink">A stream through which binary data will be written.</param> /// <param name="encoding">A encoding used to transform binary data to strings.</param> public BufferedOutput(bool enableBuffering, TextWriter charSink, Stream byteSink, Encoding encoding) { _charSink = charSink; _byteSink = byteSink; _encoding = encoding; _stream = new BufferedOutputStream(this); _levels = new List <LevelElement>(); if (enableBuffering) { IncreaseLevel(); } }
/// <summary> /// Creates buffered output with specified sinks. /// </summary> /// <param name="ctx">Runtime context.</param> /// <param name="enableBuffering">Whether to immediately enable buffering, i.e. increase the level.</param> /// <param name="charSink">A writer through which character data will be written.</param> /// <param name="byteSink">A stream through which binary data will be written.</param> public BufferedOutput(Context ctx, bool enableBuffering, TextWriter charSink, Stream byteSink) { Debug.Assert(ctx != null); _ctx = ctx; _charSink = charSink; _byteSink = byteSink; Stream = new BufferedOutputStream(this); _levels = new List <LevelElement>(); if (enableBuffering) { IncreaseLevel(); } }
/// <summary> /// Creates buffered output with specified sinks. /// </summary> /// <param name="enableBuffering">Whether to immediately enable buffering, i.e. increase the level.</param> /// <param name="charSink">A writer through which character data will be written.</param> /// <param name="byteSink">A stream through which binary data will be written.</param> /// <param name="encoding">A encoding used to transform binary data to strings.</param> public BufferedOutput(bool enableBuffering, TextWriter charSink, Stream byteSink, Encoding encoding) { _charSink = charSink; _byteSink = byteSink; _encoding = encoding; _stream = new BufferedOutputStream(this); _levels = new List<LevelElement>(); if (enableBuffering) IncreaseLevel(); }