A convenience class for reading from an InputStream. More...
#include <Stream.hh>
Public Member Functions | |
StreamReader () | |
Constructs an empty reader. | |
StreamReader (InputStream &in) | |
Constructs a reader with the given underlying stream. | |
void | reset (InputStream &is) |
Replaces the current input stream with the given one after backing up the original one if required. | |
uint8_t | read () |
Read just one byte from the underlying stream. More... | |
void | readBytes (uint8_t *b, size_t n) |
Reads the given number of bytes from the underlying stream. More... | |
void | skipBytes (size_t n) |
Skips the given number of bytes. More... | |
bool | fill () |
Get as many byes from the underlying stream as possible in a single chunk. More... | |
void | more () |
Tries to get more data and if it cannot, throws an exception. | |
bool | hasMore () |
Returns true if and only if the end of stream is not reached. | |
Public Attributes | |
InputStream * | in_ |
The underlying input stream. | |
const uint8_t * | next_ |
The next location to read from. | |
const uint8_t * | end_ |
One past the last valid location. | |
A convenience class for reading from an InputStream.
|
inline |
Get as many byes from the underlying stream as possible in a single chunk.
References avro::InputStream::next().
|
inline |
Read just one byte from the underlying stream.
If there are no more data, throws an exception.
References more().
|
inline |
|
inline |
Skips the given number of bytes.
Of there are not so that many bytes, throws an exception.
References end_, next_, and avro::InputStream::skip().