- cpp3ds
- InputStream
Abstract class for custom file input streams. More...
#include <InputStream.hpp>
Public Member Functions | |
virtual | ~InputStream () |
Virtual destructor. More... | |
virtual Int64 | read (void *data, Int64 size)=0 |
Read data from the stream. More... | |
virtual Int64 | seek (Int64 position)=0 |
Change the current reading position. More... | |
virtual Int64 | tell ()=0 |
Get the current reading position in the stream. More... | |
virtual Int64 | getSize ()=0 |
Return the size of the stream. More... | |
Abstract class for custom file input streams.
This class allows users to define their own file input sources from which SFML can load resources.
SFML resource classes like cpp3ds::Texture and cpp3ds::SoundBuffer provide loadFromFile and loadFromMemory functions, which read data from conventional sources. However, if you have data coming from a different source (over a network, embedded, encrypted, compressed, etc) you can derive your own class from cpp3ds::InputStream and load SFML resources with their loadFromStream function.
Usage example:
Definition at line 40 of file InputStream.hpp.
|
inlinevirtual |
Virtual destructor.
Definition at line 48 of file InputStream.hpp.
|
pure virtual |
Return the size of the stream.
Implemented in cpp3ds::FileInputStream, and cpp3ds::MemoryInputStream.
|
pure virtual |
Read data from the stream.
After reading, the stream's reading position must be advanced by the amount of bytes read.
data | Buffer where to copy the read data |
size | Desired number of bytes to read |
Implemented in cpp3ds::FileInputStream, and cpp3ds::MemoryInputStream.
|
pure virtual |
Change the current reading position.
position | The position to seek to, from the beginning |
Implemented in cpp3ds::FileInputStream, and cpp3ds::MemoryInputStream.
|
pure virtual |
Get the current reading position in the stream.
Implemented in cpp3ds::FileInputStream, and cpp3ds::MemoryInputStream.