Trait utf8_chars::BufReadCharsExt
source · pub trait BufReadCharsExt: BufRead {
// Provided methods
fn chars(&mut self) -> Chars<'_, Self> ⓘ { ... }
fn chars_raw(&mut self) -> CharsRaw<'_, Self> ⓘ { ... }
fn read_char(&mut self) -> Result<Option<char>> { ... }
fn read_char_raw(&mut self) -> Result<Option<char>, ReadCharError> { ... }
}
Expand description
Extends BufRead
with methods for reading chars.
Provided Methods§
sourcefn chars(&mut self) -> Chars<'_, Self> ⓘ
fn chars(&mut self) -> Chars<'_, Self> ⓘ
Returns an iterator over the chars of this reader.
In contrast to chars_raw
, the error type is
io::Error
, and therefore more likely to be drop-in
compatible, at the price of losing the UTF-8 context bytes in the error
message.
The iterator returned from this function will yield instances of
io::Result
<char>
.
sourcefn chars_raw(&mut self) -> CharsRaw<'_, Self> ⓘ
fn chars_raw(&mut self) -> CharsRaw<'_, Self> ⓘ
Returns an iterator over the chars of this reader.
The iterator returned from this function will yield instances of
Result
<char,
ReadCharError
>
.
sourcefn read_char(&mut self) -> Result<Option<char>>
fn read_char(&mut self) -> Result<Option<char>>
Reads a char from the underlying reader.
In contrast to read_char_raw
, the error type is
io::Error
, and therefore more likely to be drop-in
compatible, at the price of losing the UTF-8 context bytes in the error
message.
Returns
Ok(Some(char))
if a char has successfully read,Ok(None)
if the stream has reached EOF before any byte was read,Err(err)
if an I/O error occurred, or read byte sequence was not recognised as a valid UTF-8.
If this function encounters an error of the kind
io::ErrorKind::Interrupted
then the error is ignored and the operation will continue.
sourcefn read_char_raw(&mut self) -> Result<Option<char>, ReadCharError>
fn read_char_raw(&mut self) -> Result<Option<char>, ReadCharError>
Reads a char from the underlying reader.
Returns
Ok(Some(char))
if a char has successfully read,Ok(None)
if the stream has reached EOF before any byte was read,Err(err)
if an I/O error occurred, or read byte sequence was not recognised as a valid UTF-8.
If this function encounters an error of the kind
io::ErrorKind::Interrupted
then the error is ignored and the operation will continue.