pub struct CharacterStream<Reader: Read> {
pub stream: Reader,
pub is_lossy: bool,
}
Expand description
Fields§
§stream: Reader
The stream from which the incoming bytes are from.
is_lossy: bool
Whether or not we should care whether invalid bytes are detected.
If true
, then invalid byte sequences will be replaced with a U+FFFD.
If false
, then an error will be returned.
Implementations§
Source§impl<Reader: Read> CharacterStream<Reader>
impl<Reader: Read> CharacterStream<Reader>
Sourcepub fn new(stream: Reader, is_lossy: bool) -> Self
pub fn new(stream: Reader, is_lossy: bool) -> Self
Create a CharacterStream from a stream.
Set is_lossy
to true
if you don’t want to handle invalid byte sequences.
Sourcepub fn peeky(self) -> PeekableCharacterStream<Reader, Peek>
pub fn peeky(self) -> PeekableCharacterStream<Reader, Peek>
Wrap self
into a single-peek PeekableCharacterStream.
Sourcepub fn peeky_multi(self) -> PeekableCharacterStream<Reader, MultiPeek>
pub fn peeky_multi(self) -> PeekableCharacterStream<Reader, MultiPeek>
Wrap self
into a multi-peek PeekableCharacterStream.
Sourcepub fn read_bytes(&mut self, amount: usize) -> Result<Vec<u8>, CharacterError>
pub fn read_bytes(&mut self, amount: usize) -> Result<Vec<u8>, CharacterError>
Sourcepub fn read_byte(&mut self) -> Result<u8, CharacterError>
pub fn read_byte(&mut self) -> Result<u8, CharacterError>
Reads a singluar byte from the stream.
Trait Implementations§
Source§impl<Reader: Read> AsMut<Reader> for CharacterStream<Reader>
impl<Reader: Read> AsMut<Reader> for CharacterStream<Reader>
Source§fn as_mut(&mut self) -> &mut Reader
fn as_mut(&mut self) -> &mut Reader
Converts this type into a mutable reference of the (usually inferred) input type.
Source§impl<Reader: Read> AsRef<Reader> for CharacterStream<Reader>
impl<Reader: Read> AsRef<Reader> for CharacterStream<Reader>
Source§impl<Reader: Read> CharStream for CharacterStream<Reader>
impl<Reader: Read> CharStream for CharacterStream<Reader>
Source§fn read_char(&mut self) -> CharacterStreamResult
fn read_char(&mut self) -> CharacterStreamResult
Attempts to read a character from the stream.
If is_lossy
is set to true
, then invalid byte sequences will be a U+FFFD.
If is_lossy
is set to false
, then invalid byte sequences will be returned in addition to a parse error.
fn is_lossy(&self) -> bool
Source§impl<Reader: Read> Deref for CharacterStream<Reader>
impl<Reader: Read> Deref for CharacterStream<Reader>
Source§impl<Reader: Read> DerefMut for CharacterStream<Reader>
impl<Reader: Read> DerefMut for CharacterStream<Reader>
Source§impl<Reader: Read, PI> From<CharacterStream<Reader>> for PeekableCharacterStream<Reader, PI>
impl<Reader: Read, PI> From<CharacterStream<Reader>> for PeekableCharacterStream<Reader, PI>
Source§fn from(stream: CharacterStream<Reader>) -> Self
fn from(stream: CharacterStream<Reader>) -> Self
Converts to this type from the input type.
Source§impl<Reader: Read> From<Reader> for CharacterStream<Reader>
impl<Reader: Read> From<Reader> for CharacterStream<Reader>
Source§impl<Reader: Read> IntoIterator for CharacterStream<Reader>
impl<Reader: Read> IntoIterator for CharacterStream<Reader>
Source§type Item = <<CharacterStream<Reader> as IntoIterator>::IntoIter as Iterator>::Item
type Item = <<CharacterStream<Reader> as IntoIterator>::IntoIter as Iterator>::Item
The type of the elements being iterated over.
Source§type IntoIter = CharacterIterator<CharacterStream<Reader>>
type IntoIter = CharacterIterator<CharacterStream<Reader>>
Which kind of iterator are we turning this into?
Auto Trait Implementations§
impl<Reader> Freeze for CharacterStream<Reader>where
Reader: Freeze,
impl<Reader> RefUnwindSafe for CharacterStream<Reader>where
Reader: RefUnwindSafe,
impl<Reader> Send for CharacterStream<Reader>where
Reader: Send,
impl<Reader> Sync for CharacterStream<Reader>where
Reader: Sync,
impl<Reader> Unpin for CharacterStream<Reader>where
Reader: Unpin,
impl<Reader> UnwindSafe for CharacterStream<Reader>where
Reader: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more