Public Member Functions | List of all members
cpp3ds::MemoryInputStream Class Reference

Implementation of input stream based on a memory chunk. More...

#include <MemoryInputStream.hpp>

Inheritance diagram for cpp3ds::MemoryInputStream:
cpp3ds::InputStream

Public Member Functions

 MemoryInputStream ()
 Default constructor. More...
 
void open (const void *data, std::size_t sizeInBytes)
 Open the stream from its data. More...
 
virtual Int64 read (void *data, Int64 size)
 Read data from the stream. More...
 
virtual Int64 seek (Int64 position)
 Change the current reading position. More...
 
virtual Int64 tell ()
 Get the current reading position in the stream. More...
 
virtual Int64 getSize ()
 Return the size of the stream. More...
 

Detailed Description

Implementation of input stream based on a memory chunk.

This class is a specialization of cpp3ds::InputStream that reads from data in memory.

It wraps a memory chunk in the common cpp3ds::InputStream interface and therefore allows to use generic classes or functions that accept such a stream, with content already loaded in memory.

In addition to the virtual functions inherited from cpp3ds::InputStream, cpp3ds::MemoryInputStream adds a function to specify the pointer and size of the data in memory.

cpp3ds resource classes can usually be loaded directly from memory, so this class shouldn't be useful to you unless you create your own algorithms that operate on a cpp3ds::InputStream.

Usage example:

void process(cpp3ds::InputStream& stream);
cpp3ds::MemoryStream stream;
stream.open(thePtr, theSize);
process(stream);

cpp3ds::InputStream, cpp3ds::FileStream

Definition at line 42 of file MemoryInputStream.hpp.

Constructor & Destructor Documentation

cpp3ds::MemoryInputStream::MemoryInputStream ( )

Default constructor.

Member Function Documentation

virtual Int64 cpp3ds::MemoryInputStream::getSize ( )
virtual

Return the size of the stream.

Returns
The total number of bytes available in the stream, or -1 on error

Implements cpp3ds::InputStream.

void cpp3ds::MemoryInputStream::open ( const void *  data,
std::size_t  sizeInBytes 
)

Open the stream from its data.

Parameters
dataPointer to the data in memory
sizeInBytesSize of the data, in bytes
virtual Int64 cpp3ds::MemoryInputStream::read ( void *  data,
Int64  size 
)
virtual

Read data from the stream.

After reading, the stream's reading position must be advanced by the amount of bytes read.

Parameters
dataBuffer where to copy the read data
sizeDesired number of bytes to read
Returns
The number of bytes actually read, or -1 on error

Implements cpp3ds::InputStream.

virtual Int64 cpp3ds::MemoryInputStream::seek ( Int64  position)
virtual

Change the current reading position.

Parameters
positionThe position to seek to, from the beginning
Returns
The position actually sought to, or -1 on error

Implements cpp3ds::InputStream.

virtual Int64 cpp3ds::MemoryInputStream::tell ( )
virtual

Get the current reading position in the stream.

Returns
The current position, or -1 on error.

Implements cpp3ds::InputStream.


The documentation for this class was generated from the following file: