Abstract class for custom file input streams. More...
#include <SFML/System/InputStream.hpp>
Public Member Functions | |
virtual | ~InputStream ()=default |
Virtual destructor. | |
virtual std::optional< std::size_t > | read (void *data, std::size_t size)=0 |
Read data from the stream. | |
virtual std::optional< std::size_t > | seek (std::size_t position)=0 |
Change the current reading position. | |
virtual std::optional< std::size_t > | tell ()=0 |
Get the current reading position in the stream. | |
virtual std::optional< std::size_t > | getSize ()=0 |
Return the size of the stream. | |
Detailed Description
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 sf::Texture
and sf::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 sf::InputStream
and load SFML resources with their loadFromStream
function.
Usage example:
- See also
FileInputStream
,MemoryInputStream
Definition at line 45 of file InputStream.hpp.
Constructor & Destructor Documentation
◆ ~InputStream()
|
virtualdefault |
Virtual destructor.
Member Function Documentation
◆ getSize()
|
pure virtual |
Return the size of the stream.
- Returns
- The total number of bytes available in the stream, or
std::nullopt
on error
Implemented in sf::FileInputStream, and sf::MemoryInputStream.
◆ read()
|
nodiscardpure virtual |
Read data from the stream.
After reading, the stream's reading position must be advanced by the amount of bytes read.
- Parameters
-
data Buffer where to copy the read data size Desired number of bytes to read
- Returns
- The number of bytes actually read, or
std::nullopt
on error
Implemented in sf::FileInputStream, and sf::MemoryInputStream.
◆ seek()
|
nodiscardpure virtual |
Change the current reading position.
- Parameters
-
position The position to seek to, from the beginning
- Returns
- The position actually sought to, or
std::nullopt
on error
Implemented in sf::FileInputStream, and sf::MemoryInputStream.
◆ tell()
|
nodiscardpure virtual |
Get the current reading position in the stream.
- Returns
- The current position, or
std::nullopt
on error.
Implemented in sf::FileInputStream, and sf::MemoryInputStream.
The documentation for this class was generated from the following file: