//  ===========================================================
//  The stream class is an abstract base class for classes that
//  support reading and writing stream of bytes. Some streams
//  also support getting and setting current stream position.
//  ===========================================================

using System;

namespace System.IO
{
    public abstract class Stream
    {
        public abstract void WriteByte(byte value);
        public abstract void Write(byte[] buffer, int count);
        public abstract int ReadByte();
        public abstract int Read(byte[] buffer);
        public virtual void Flush()
        {
        }
        public virtual void Seek(int pos, Origin origin)
        {
            throw new FileSystemException("this stream does not support seek");
        }
        public virtual int Tell()
        {
            throw new FileSystemException("this stream does not support tell");
        }
        public abstract void Close();
    }
}