roo_io
API Documentation for roo_io
Loading...
Searching...
No Matches
null_input_stream.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace roo_io {
6
8 public:
10
11 bool isOpen() const override { return false; }
12
13 void close() override {}
14
15 size_t read(byte* buf, size_t count) override { return 0; }
16
17 void skip(uint64_t count) override {}
18
19 Status status() const override { return status_; }
20
21 uint64_t size() override { return 0; }
22
23 uint64_t position() const override { return 0; }
24
25 void seek(uint64_t offset) override {}
26
27 private:
28 Status status_;
29};
30
31} // namespace roo_io
Virtualizes access to files, memory, and other readable sources.
void seek(uint64_t offset) override
Seeks to byte offset from beginning.
bool isOpen() const override
Returns whether stream is considered open.
NullInputStream(Status error=kClosed)
size_t read(byte *buf, size_t count) override
Attempts to read up to count bytes into result.
Status status() const override
Returns status of the most recent I/O operation.
void close() override
Closes this stream.
uint64_t position() const override
Returns current byte offset from beginning of stream.
uint64_t size() override
Returns stream size in bytes from beginning.
void skip(uint64_t count) override
Skips over count bytes, updating status().
Definition byte.h:6
roo::basic_string_view< CharT, Traits > basic_string_view
Definition string_view.h:8
size_t count
Definition compare.h:45
Status
Definition status.h:7
@ kClosed
Definition status.h:10