|
OpenEnroth da9191a
|
Public Member Functions | |
| UnsizedInputStream (const void *data, size_t size, size_t chunkSize=128) | |
Public Member Functions inherited from InputStream | |
| virtual | ~InputStream () |
| size_t | read (void *data, size_t size) |
| void | readOrFail (void *data, size_t size) |
| size_t | readAll (std::string *dst) |
| std::string | readAll () |
| size_t | skip (size_t size) |
| void | skipOrFail (size_t size) |
| size_t | readUntil (char delimiter, std::string *dst) |
| std::string | readUntil (char delimiter) |
| void | close () |
| bool | isOpen () const |
| size_t | position () const |
| size_t | size () const |
| const std::string & | displayPath () const |
Protected Member Functions | |
| virtual size_t | _underflow (void *data, size_t size, Buffer *buffer) override |
Protected Member Functions inherited from InputStream | |
| InputStream ()=default | |
| void | open (Buffer buffer, size_t size, std::string_view displayPath) |
| virtual size_t | _underflow (void *data, size_t size, Buffer *buffer) |
| virtual void | _close (bool canThrow) |
| void | destroy () noexcept |
| void | throwReadError (size_t requested, size_t actual) const |
| void | throwSkipError (size_t requested, size_t actual) const |
Private Attributes | |
| const char * | _data |
| size_t | _dataSize |
| size_t | _chunkSize |
| size_t | _pos = 0 |
Additional Inherited Members | |
Public Types inherited from InputStream | |
| using | Buffer = StreamBuffer< const char > |
An input stream that doesn't report its size, feeding data through _underflow in small chunks. Used for testing the unsized readAll code path.
|
inline |
|
inlineoverrideprotectedvirtual |
Fetches more data from the underlying source. Override in subclasses that perform I/O.
Three modes of operation:
size == 0: just refills the buffer without consuming any data.data != nullptr: reads size bytes into data.data == nullptr && size > 0: skips size bytes.In all modes, sets *buffer to the new buffer state.
| [out] | data | Buffer to read into, or nullptr for skip/refill. |
| size | Number of bytes to read or skip. | |
| [out] | buffer | New buffer state. |
data or skipped. | Exception | On error. |
Reimplemented from InputStream.
|
private |
|
private |
|
private |
|
private |