Stream class
#include <IO/Stream.h>
Provides a generic view of a sequence of bytes.
Base classes
- class Death::IDisposable
- Base interface for releasing resources on object destruction.
Derived classes
- class AndroidAssetStream
- Read-only streaming directly from Android asset files.
- class BoundedFileStream
- Provides only specified portion of the specified seekable input stream.
- class DeflateStream
- Provides read-only streaming of compressed data using the Deflate algorithm.
- class DeflateWriter
- Provides write-only streaming to compress written data by using the Deflate algorithm.
- class Lz4Stream
- Provides read-only streaming of compressed data using the LZ4 compression algorithm.
- class Lz4Writer
- Provides write-only streaming to compress written data by using the LZ4 compression algorithm.
- class ZstdStream
- Provides read-only streaming of compressed data using the Zstandard compression algorithm.
- class ZstdWriter
- Provides write-only streaming to compress written data by using the Zstandard compression algorithm.
- class EmscriptenFileStream
- Provides access to a file selected by the user in the browser.
- class FileStream
- Allows streaming from/to a file on a local filesystem.
- class MemoryStream
- Provides stream interface for a region of memory.
Public types
- enum (anonymous) { Invalid = -1, OutOfRange = -2, NotSeekable = -3 }
Constructors, destructors, conversion operators
- operator bool() explicit
- Whether the stream has been sucessfully opened.
Public functions
- void Dispose() pure virtual
- Closes the stream and releases all assigned resources.
-
auto Seek(std::
int64_t offset, SeekOrigin origin) -> std:: int64_t pure virtual - Seeks in an opened stream.
-
auto GetPosition() const -> std::
int64_t pure virtual - Tells the seek position of an opened stream.
-
auto Read(void* destination,
std::
int64_t bytesToRead) -> std:: int64_t pure virtual - Reads a certain amount of bytes from the stream to a buffer.
-
auto Write(const void* source,
std::
int64_t bytesToWrite) -> std:: int64_t pure virtual - Writes a certain amount of bytes from a buffer to the stream.
- auto Flush() -> bool pure virtual
- Clears all buffers for this stream and causes any buffered data to be written to the underlying device.
- auto IsValid() -> bool pure virtual
- Returns
trueif the stream has been sucessfully opened. -
auto GetSize() const -> std::
int64_t pure virtual - Returns stream size in bytes.
-
auto SetSize(std::
int64_t size) -> std:: int64_t pure virtual - Sets stream size in bytes.
-
auto CopyTo(Stream& targetStream) -> std::
int64_t - Reads the bytes from the current stream and writes them to the target stream.
-
template<typename T>auto ReadValue() -> T
- Reads a trivial value from the stream.
-
template<typename T>void WriteValue(const T& value)
- Writes a trivial value to the stream.
-
template<typename T>auto ReadValueAsLE() -> T
- Reads a trivial value from the stream always as Little-Endian.
-
template<typename T>void WriteValueAsLE(T value)
- Writes a trivial value to the stream always as Little-Endian.
-
auto ReadVariableInt32() -> std::
int32_t - Reads a 32-bit integer value from the stream using variable-length quantity encoding.
-
auto ReadVariableInt64() -> std::
int64_t - Reads a 64-bit integer value from the stream using variable-length quantity encoding.
-
auto ReadVariableUint32() -> std::
uint32_t - Reads a 32-bit unsigned integer value from the stream using variable-length quantity encoding.
-
auto ReadVariableUint64() -> std::
uint64_t - Reads a 64-bit unsigned integer value from the stream using variable-length quantity encoding.
-
auto WriteVariableInt32(std::
int32_t value) -> std:: int64_t - Writes a 32-bit integer value to the stream using variable-length quantity encoding.
-
auto WriteVariableInt64(std::
int64_t value) -> std:: int64_t - Writes a 64-bit integer value to the stream using variable-length quantity encoding.
-
auto WriteVariableUint32(std::
uint32_t value) -> std:: int64_t - Writes a 32-bit unsigned integer value to the stream using variable-length quantity encoding.
-
auto WriteVariableUint64(std::
uint64_t value) -> std:: int64_t - Writes a 64-bit unsigned integer value to the stream using variable-length quantity encoding.
Enum documentation
enum Death:: IO:: Stream:: (anonymous)
| Enumerators | |
|---|---|
| Invalid |
Returned if Stream doesn't point to valid source. |
| OutOfRange |
Returned if one of the parameters provided to a method is not valid. |
| NotSeekable |
Returned if seek operation is not supported by Stream or the stream length is unknown. |