class CCL::MemoryStream
Overview
#include <memorystream.h> class MemoryStream: public CCL::Unknown, public CCL::IMemoryStream, public Core::IO::MemoryStream { public: // construction MemoryStream (uint32 memoryGrow = kDefaultGrow); MemoryStream (void* buffer, unsigned int size); MemoryStream (const MemoryStream& ms); // methods virtual int CCL_API read (void* buffer, int size); virtual int CCL_API write (const void* buffer, int size); virtual int64 CCL_API tell (); virtual tbool CCL_API isSeekable () const; virtual int64 CCL_API seek (int64 pos, int mode); virtual void*CCL_API getMemoryAddress () const; virtual uint32 CCL_API getBytesWritten () const; virtual tbool CCL_API setBytesWritten (uint32 bytesWritten); virtual tbool CCL_API allocateMemoryForStream (uint32 size); };
Inherited Members
public: // enums enum OpenMode; enum SeekMode; // fields static const InterfaceID kIID = FOUR_CHAR_ID ('B','S','t','r'); static const uint32 kDefaultGrow = 8192; // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0; Unknown& operator = (const Unknown&); unsigned int getRetainCount () const; virtual int CCL_API read (void* buffer, int size) = 0; virtual int CCL_API write (const void* buffer, int size) = 0; virtual int64 CCL_API tell () = 0; virtual tbool CCL_API isSeekable () const = 0; virtual int64 CCL_API seek (int64 pos, int mode) = 0; IStream bool rewind (); virtual void*CCL_API getMemoryAddress () const = 0; virtual uint32 CCL_API getBytesWritten () const = 0; virtual tbool CCL_API setBytesWritten (uint32 bytesWritten) = 0; virtual tbool CCL_API allocateMemoryForStream (uint32 size) = 0; IMemoryStream bool writeTo (IStream& dstStream) const; virtual int64 getPosition () = 0; virtual int64 setPosition (int64 pos, int mode) = 0; virtual int readBytes (void* buffer, int size) = 0; virtual int writeBytes (const void* buffer, int size) = 0; virtual BufferProvider* getBufferProvider (); virtual void moveBufferTo (Buffer& buffer) = 0; MemoryStream& take (MemoryStream& ms); MemoryStream& take (Buffer& buffer); bool copyFrom (const MemoryStream& ms); bool allocateMemory (uint32 size, bool initWithZero = false); const Buffer& getBuffer () const; uint32 getMemoryGrow () const; void setMemoryGrow (uint32 memoryGrow); uint32 getBytesWritten () const; bool setBytesWritten (uint32 bytesWritten); virtual int64 getPosition (); virtual int64 setPosition (int64 pos, int mode); virtual int readBytes (void* buffer, int size); virtual int writeBytes (const void* buffer, int size); virtual BufferProvider* getBufferProvider (); virtual void moveBufferTo (Buffer& buffer);
Detailed Documentation
Methods
virtual int CCL_API read (void* buffer, int size)
Read data from stream.
virtual int CCL_API write (const void* buffer, int size)
Write data to stream.
virtual int64 CCL_API tell ()
Get current stream position in bytes.
virtual tbool CCL_API isSeekable () const
Returns true if stream is seekable.
virtual int64 CCL_API seek (int64 pos, int mode)
Move current stream position.
virtual void*CCL_API getMemoryAddress () const
Returns current memory base address, might change when resizing!
virtual uint32 CCL_API getBytesWritten () const
Returns number of bytes written to stream.
virtual tbool CCL_API setBytesWritten (uint32 bytesWritten)
Set number of bytes written to stream.
virtual tbool CCL_API allocateMemoryForStream (uint32 size)
Allocate memory of given size.