public static void Append<T>(this IOutStream<T> outStream, IInStream<T> inStream) { var buffer = MemoryPool<T>.GetArray(); try { outStream.Append(inStream, buffer); } finally { MemoryPool<T>.PutArray(buffer); } }
public void Dispose() { if (FStreamWriter != null) { FStreamWriter.Dispose(); FStreamWriter = null; if (FPosition > FStreamLength) { // Stream is larger now FStream.Append(FMemoryStream); FMemoryStreamWriter.Dispose(); FMemoryStreamWriter = null; FMemoryStream = null; } else { // Stream is smaller now FStream.Length = FPosition; } } }