struct CCL::IMemoryStream

Overview

IStream interface extension for memory-based streams. More…

#include <istream.h>

struct IMemoryStream: public CCL::IStream
{
    // methods

    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;
};

Inherited Members

public:
    // enums

    enum OpenMode;
    enum SeekMode;

    // 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;
    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 ();

Detailed Documentation

IStream interface extension for memory-based streams.

<>

Methods

virtual void*CCL_API getMemoryAddress () const = 0

Returns current memory base address, might change when resizing!

virtual uint32 CCL_API getBytesWritten () const = 0

Returns number of bytes written to stream.

virtual tbool CCL_API setBytesWritten (uint32 bytesWritten) = 0

Set number of bytes written to stream.

virtual tbool CCL_API allocateMemoryForStream (uint32 size) = 0

Allocate memory of given size.

IMemoryStream bool writeTo (IStream& dstStream) const

Write data to destination stream.