class EE::System::IOStreamMemory

Overview

Implementation of a memory stream file. More…

#include <iostreammemory.hpp>

class IOStreamMemory: public EE::System::IOStream {
public:
    // construction

    IOStreamMemory(const char* data, ios_size size);
    IOStreamMemory(char* data, ios_size size);
    virtual ~IOStreamMemory();

    // methods

    static IOStreamMemory* New(const char* data, ios_size size);
    static IOStreamMemory* New(char* data, ios_size size);
    virtual ios_size read(char* data, ios_size size);
    virtual ios_size write(const char* data, ios_size size);
    virtual ios_size seek(ios_size position);
    virtual ios_size tell();
    virtual ios_size getSize();
    virtual bool isOpen();
};

Inherited Members

public:
    // methods

    virtual ios_size read(char* data, ios_size size) = 0;
    virtual ios_size write(const char* data, ios_size size) = 0;
    virtual ios_size seek(ios_size position) = 0;
    virtual ios_size tell() = 0;
    virtual ios_size getSize() = 0;
    virtual bool isOpen() = 0;

Detailed Documentation

Implementation of a memory stream file.

Construction

IOStreamMemory(const char* data, ios_size size)

Use the data buffer for reading.

Parameters:

data

The buffer to read from

size

The size of the buffer

IOStreamMemory(char* data, ios_size size)

Use the data buffer for writing.

Parameters:

data

The buffer to write to

size

The size of the buffer

Methods

virtual ios_size read(char* data, ios_size size)

Read data from the stream.

Parameters:

data

Buffer where to copy the read data

size

Desired number of bytes to read

Returns:

The number of bytes actually read

virtual ios_size write(const char* data, ios_size size)

Write data to the virtual file.

Parameters:

data

Data to write in the file

size

Size of the data that needs to be writed

virtual ios_size seek(ios_size position)

Change the current reading position.

Parameters:

position

The position to seek to, from the beginning

Returns:

The position actually sought to.

virtual ios_size tell()

Get the current reading position in the stream.

Returns:

The current position, or -1 on error.

virtual ios_size getSize()

Return the size of the stream.

Returns:

The total number of bytes available in the stream

virtual bool isOpen()

Returns:

If the virtual stream file is open