class final
file_ostreamA stream which composes a file handle.
Base classes
- class file_stream_base
- Implements the common interface of every
file_stream
. -
template<class Derived>class ostream_interface<binary_io::file_ostream>
- A CRTP utility which can be used to flesh out the interface of a given stream.
Constructors, destructors, conversion operators
-
file_ostream(const std::
filesystem:: path& a_path, write_ mode a_mode = write_mode:: truncate)
Buffer management
Buffering
- void flush() noexcept
- Flushes the underlying file buffer.
File operations
- void close() noexcept
- Closes the stream's file handle, if applicable.
- auto is_open() const -> bool noexcept
- Checks if the stream has an open file handle.
-
void open(const std::
filesystem:: path& a_path, write_ mode a_mode = write_mode:: truncate) - Opens the file at the given path.
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.
Writing
- void write(Args... a_args)
- Writes the given values into the output stream.
- void write(std::endian a_endian, Args... a_args)
- Writes the given values into the output stream, with the given endian format.
-
void write_bytes(std::
span<const std:: byte> a_src) - Writes bytes into the given buffer.
Function documentation
void binary_io:: file_ostream:: open(const std:: filesystem:: path& a_path,
write_ mode a_mode = write_mode:: truncate)
Opens the file at the given path.
Parameters | |
---|---|
a_path | The path to the file to open. |
a_mode | The mode to open the file in. |
Exceptions | |
std:: |
Thrown when filesystem errors are encountered. |
void binary_io:: file_ostream:: write_bytes(std:: span<const std:: byte> a_src)
Writes bytes into the given buffer.
Parameters | |
---|---|
a_src | The buffer to write bytes from. |
Exceptions | |
binary_io:: |
Thrown when the buffer has less than the requested number of bytes. |