Stream backed by std::FILE* (for portability across Windows/POSIX).
More...
#include <stream.hpp>
Stream backed by std::FILE* (for portability across Windows/POSIX).
Not async-friendly by itself — use AsyncStream to dispatch reads/writes to a worker thread.
◆ Mode
| Enumerator |
|---|
| Read | |
| Write | |
| Append | |
| ReadWrite | |
◆ FileStream() [1/3]
| pulp::runtime::FileStream::FileStream |
( |
| ) |
|
|
default |
◆ FileStream() [2/3]
| pulp::runtime::FileStream::FileStream |
( |
std::string_view | path, |
|
|
Mode | mode = Mode::Read ) |
|
explicit |
◆ ~FileStream()
| pulp::runtime::FileStream::~FileStream |
( |
| ) |
|
|
override |
◆ FileStream() [3/3]
| pulp::runtime::FileStream::FileStream |
( |
FileStream && | other | ) |
|
|
noexcept |
◆ close()
| void pulp::runtime::FileStream::close |
( |
| ) |
|
|
overridevirtual |
◆ flush()
| bool pulp::runtime::FileStream::flush |
( |
| ) |
|
Flush OS-level buffers to the underlying file.
◆ is_open()
| bool pulp::runtime::FileStream::is_open |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ open()
| bool pulp::runtime::FileStream::open |
( |
std::string_view | path, |
|
|
Mode | mode = Mode::Read ) |
Open path with the given mode. Returns true on success.
◆ operator=()
◆ position()
| std::size_t pulp::runtime::FileStream::position |
( |
| ) |
const |
Current byte position, or (size_t)-1 on error.
◆ read()
| StreamResult pulp::runtime::FileStream::read |
( |
std::uint8_t * | buffer, |
|
|
std::size_t | size ) |
|
overridevirtual |
Read up to size bytes into buffer.
Returns how many bytes were written, or an error. buffer may be partially filled on error.
Implements pulp::runtime::Stream.
◆ write()
| StreamResult pulp::runtime::FileStream::write |
( |
const std::uint8_t * | buffer, |
|
|
std::size_t | size ) |
|
overridevirtual |
Write up to size bytes from buffer.
Returns how many bytes were consumed. Partial writes are permitted — callers loop until satisfied or treat the short return as backpressure.
Implements pulp::runtime::Stream.
The documentation for this class was generated from the following file:
- /home/runner/work/pulp/pulp/core/runtime/include/pulp/runtime/stream.hpp