pub struct Reader<'a> { /* fields omitted */ }
A read-only, forward-only* cursor into the data in an Input
.
Using Reader
to parse input helps to ensure that no byte of the input
will be accidentally processed more than once. Using Reader
in
conjunction with read_all
, read_all_mut
, and read_all_optional
helps ensure that no byte of the input is accidentally left unprocessed.
The methods of Reader
never panic, so Reader
also assists the writing
of panic-free code.
* Reader
is not strictly forward-only because of the method
get_input_between_marks
, which is provided mainly to support calculating
digests over parsed data.
Construct a new Reader for the given input. Use read_all
,
read_all_mut
, or read_all_optional
instead of Reader::new
whenever possible.
Returns true
if the reader is at the end of the input, and false
otherwise.
Returns an Input
for already-parsed input that has had its boundaries
marked using mark
.
Return the current position of the Reader
for future use in a call
to get_input_between_marks
.
Returns true
if there is at least one more byte in the input and that
byte is equal to b
, and false otherwise.
Reads the next input byte.
Returns Ok(b)
where b
is the next input byte, or Err(EndOfInput)
if the Reader
is at the end of the input.
Skips num_bytes
of the input.
Returns Ok(())
if there are at least num_bytes
of input remaining,
and Err(EndOfInput)
otherwise.
Skips num_bytes
of the input, returning the skipped input as an Input
.
Returns Ok(i)
where i
is an Input
if there are at least
num_bytes
of input remaining, and Err(EndOfInput)
otherwise.
Skips the reader to the end of the input, returning the skipped input
as an Input
.
Formats the value using the given formatter. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static