class final
span_istreamA stream which composes a non-owning view over a contiguous block of memory.
Base classes
-
template<class T>class span_stream_base<const std::byte>
- Implements the common interface of every
span_stream
. -
template<class Derived>class istream_interface<span_istream>
- A CRTP utility which can be used to flesh out the interface of a given stream.
Buffer management
Formatting
- auto endian() const -> std::endian noexcept
- Gets the current default endian format.
- void endian(std::endian a_endian) noexcept
- Sets the default endian format.
Position
-
void seek_absolute(binary_io::
streamoff a_pos) noexcept - Seek to an absolute position in the stream (i.e. from the beginning).
-
void seek_relative(binary_io::
streamoff a_off) noexcept - Seek to a position in the stream relative to the current position.
-
auto tell() const -> binary_io::
streamoff noexcept - Gets the current stream position.
Reading
-
auto read() -> std::
tuple<Args...> - Batch reads the given values from the input stream.
-
auto read(std::endian a_endian) -> std::
tuple<Args...> - Batch reads the given values with the given endian format from the input stream.
- void read(Args&... a_args)
- Batch reads the given values from the input stream.
- void read(std::endian a_endian, Args&... a_args)
- Batch reads the given values with the given endian format from the input stream.
-
void read_bytes(std::
span<std:: byte> a_dst) - Reads bytes into the given buffer.
-
auto read_bytes(std::
size_t a_count) -> std::span< const std::byte > - Yields a no-copy view of
a_count
bytes from the underlying buffer.
Function documentation
void binary_io:: span_istream:: read_bytes(std:: span<std:: byte> a_dst)
Reads bytes into the given buffer.
Parameters | |
---|---|
a_dst | The buffer to read bytes into. |
Exceptions | |
binary_io:: |
Thrown when the buffer has less than the requested number of bytes. |
auto binary_io:: span_istream:: read_bytes(std:: size_t a_count) -> std::span< const std::byte >
Yields a no-copy view of a_count
bytes from the underlying buffer.
Parameters | |
---|---|
a_count | The number of bytes to be read. |
Returns | A view of the bytes read. |
Exceptions | |
binary_io:: |
Thrown when the buffer has less than the requested number of bytes. |