A reader supports binary block reads and string-oriented line reads that zero-terminate the result. More...
Public Member Functions | |
virtual Sint64 | read (char *buffer, Sint64 size)=0 |
Reads a number of bytes from the stream. More... |
|
virtual bool | readline (char *buffer, Sint32 size)=0 |
Reads a line from the stream. More... |
|
Lookahead capability | |
virtual bool | supports_lookahead () const =0 |
Indicates whether lookahead is (in principle) supported. More... |
|
virtual Sint64 | lookahead (Sint64 size, const char **buffer) const =0 |
Gives access to the lookahead data. More... |
|
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0xc03de0cf, 0x5a03, 0x4e8f, 0xa1, 0x59, 0x6c, 0xad, 0xd6, 0xf8, 0xae, 0x58, IReader_writer_base > | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IReader_writer_base > |
Self |
Own type. More... |
|
typedef Uuid_t< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11 > |
IID |
Declares the interface ID (IID) of this interface. More... |
|
Static Public Member Functions inherited from mi::base::Interface_declare< 0xc03de0cf, 0x5a03, 0x4e8f, 0xa1, 0x59, 0x6c, 0xad, 0xd6, 0xf8, 0xae, 0x58, IReader_writer_base > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... |
|
A reader supports binary block reads and string-oriented line reads that zero-terminate the result.
Gives access to the lookahead data.
The first size
bytes of binary data are made available from the reader without changing its read position. The method sets the buffer pointer to point to the available lookahead data. It may be set to 0 if no lookahead is available, in which case the return value must be either 0 or -1.
size | The size of the desired lookahead. | |
[out] | buffer | The address of a pointer to the buffer with the lookahead data. The address might be NULL if no lookahead is available, in which case the return value is either 0 or -1. The buffer is owned by the reader and must not be changed or deleted. |
Reads a number of bytes from the stream.
buffer | The buffer to store the data in. |
size | The number of bytes to be read. |
size
, or -1 in case of errors.
|
pure virtual |
Reads a line from the stream.
Reads at most size
- 1 characters from the stream and stores them in buffer
. Reading stops after a newline character or an end-of-file. If a newline is read, it is stored in the buffer. The buffer contents will be zero-terminated.
buffer | The buffer to store the data in. |
size | The maximum number of bytes to be read. |
true
in case of success, or false
in case of errors.
|
pure virtual |
Indicates whether lookahead is (in principle) supported.
An actual lookahead request might still report zero bytes of available lookahead data.