Implements the pw::stream::Reader
interface by backing the data source with an externally provided memory buffer.
|
constexpr | MemoryReader (ConstByteSpan source) |
|
size_t | bytes_read () const |
|
const std::byte * | data () const |
|
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 |
|
|
enum | Whence : uint8_t { kBeginning = 0b001
, kCurrent = 0b010
, kEnd = 0b100
} |
| Positions from which to seek. More...
|
|
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.
|
|
enum class | LimitType : bool { kRead
, kWrite
} |
|
◆ ConservativeLimit()
size_t pw::stream::MemoryReader::ConservativeLimit |
( |
LimitType |
limit_type | ) |
const |
|
inlineoverrideprivatevirtual |
◆ DoRead()
◆ DoSeek()
Status pw::stream::MemoryReader::DoSeek |
( |
ptrdiff_t |
offset, |
|
|
Whence |
origin |
|
) |
| |
|
inlineoverrideprivatevirtual |
◆ DoTell()
size_t pw::stream::MemoryReader::DoTell |
( |
| ) |
|
|
inlineoverrideprivatevirtual |
Virtual Tell() function optionally implemented by derived classes. The default implementation always returns kUnknownPosition.
Reimplemented from pw::stream::Stream.
The documentation for this class was generated from the following file: