1
0
mirror of https://github.com/Halofreak1990/XFXFramework synced 2024-12-26 13:49:34 +01:00
XFXFramework/include/System/IO/MemoryStream.h
Halofreak1990 1bf933432b List class now works.
TextureCollection is broken because it can somehow not resolve Texture as template argument for the List it uses.
Added missing BinaryWriter and TextWriter classes to System::IO namespace
Modified BinaryReader
Added PacketReader and PacketWriter classes to XFX::Net namespace
2011-03-10 22:55:43 +00:00

64 lines
1.5 KiB
C++

#ifndef _SYSTEM_IO_MEMORYSTREAM_
#define _SYSTEM_IO_MEMORYSTREAM_
#include "../Types.h"
#include "Stream.h"
namespace System
{
namespace IO
{
/// <summary>
/// Creates a stream whose backing store is memory.
/// </summary>
class MemoryStream : public Stream
{
private:
byte* _buffer;
int _capacity;
bool _expandable;
bool _exposable;
bool _isOpen;
int _length;
int _origin;
int _position;
bool _writable;
static const int MemStreamMaxLength;
bool EnsureCapacity(int value);
protected:
void Dispose(bool disposing);
public:
bool CanRead();
bool CanSeek();
bool CanWrite();
virtual int Capacity();
virtual void Capacity(int value);
Int64 Length();
Int64 Position;
MemoryStream();
MemoryStream(int capacity);
MemoryStream(byte buffer[]);
MemoryStream(byte buffer[], bool writable);
MemoryStream(byte buffer[], int index, int count);
MemoryStream(byte buffer[], int index, int count, bool writable);
MemoryStream(byte buffer[], int index, int count, bool writable, bool publiclyVisible);
void Flush();
virtual byte* GetBuffer();
int Read(byte buffer[], int offset, int count);
int ReadByte();
Int64 Seek(Int64 offset, SeekOrigin_t loc);
void SetLength(Int64 value);
virtual byte* ToArray();
void Write(byte buffer[], int offset, int count);
void WriteByte(byte value);
virtual void WriteTo(Stream* stream);
};
}
}
#endif //_SYSTEM_IO_MEMORYSTREAM_