A Writer that supports at least relative seeking within some range of the current position. Seeking beyond that or from other origins may or may not be supported. The extent to which seeking is possible is NOT exposed by this API.
Use in APIs when:
Inherit from when:
A buffered Writer that only supports seeking within its buffer is a good example of a RelativeSeekableWriter.
Friends | |
| class | SeekableWriter |
Additional Inherited Members | |
Public Types inherited from pw::stream::Stream | |
| enum | Whence : uint8_t { kBeginning = 0b001 , kCurrent = 0b010 , kEnd = 0b100 } |
| Positions from which to seek. More... | |
Public Member Functions inherited from pw::stream::Stream | |
| constexpr bool | readable () const |
| constexpr bool | writable () const |
| constexpr bool | seekable () const |
| constexpr bool | seekable (Whence origin) const |
| True if the stream supports seeking from the specified origin. | |
| Result< ByteSpan > | Read (ByteSpan dest) |
| Result< ByteSpan > | Read (void *dest, size_t size_bytes) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| Result< ByteSpan > | ReadExact (ByteSpan const buffer) |
| Status | Write (ConstByteSpan data) |
| Status | Write (const void *data, size_t size_bytes) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| Status | Write (const std::byte b) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| Status | Seek (ptrdiff_t offset, Whence origin=kBeginning) |
| size_t | Tell () |
| size_t | ConservativeReadLimit () const |
| size_t | ConservativeWriteLimit () const |
Static Public Attributes inherited from pw::stream::Stream | |
| static constexpr size_t | kUnlimited = std::numeric_limits<size_t>::max() |
| Value returned from read/write limit if unlimited. | |
| static constexpr size_t | kUnknownPosition = std::numeric_limits<size_t>::max() |
| Returned by Tell() if getting the position is not supported. | |
Protected Types inherited from pw::stream::Stream | |
| enum class | LimitType : bool { kRead , kWrite } |